* convert to docbook 5.0.
* get jing running.
* use uri to find docbook rng.
* brew install jing-trang. use oasis for rngs.
* add insertion markers to autogen doc files.
* use db5-upgrade.xsl from docbook 5.1 release.
we are still converting to docbook 5.0.
this fixes issues with missing Appendix labels
(e.g. "Appendix A. Supported Datums" was "Suppored Datums")
and Glossary Indexes (e.g. "G" was omitted)
in the html output.
unfortunately it causes issues with translating ulinks inside term
elements. We patch the dropped links back in.
* make sure makedoc is using utf8 for files.
brew update
brew install ninja
brew install docbook docbook-xsl fop gnu-sed
+ brew install jing-trang
- name: Script
env:
fop \
xsltproc \
docbook-xml \
+ docbook5-xml \
docbook-xsl \
+ docbook-xsl-ns \
+ libavalon-framework-java \
+ jing \
&& rm -rf /var/lib/apt/lists/*
# pkgs with libraries needed by gpsbabel
fop \
xsltproc \
docbook-xml \
+ docbook5-xml \
docbook-xsl \
+ docbook-xsl-ns \
+ libavalon-framework-java \
+ jing \
&& rm -rf /var/lib/apt/lists/*
# pkgs with libraries needed by gpsbabel
set -ex
perl xmldoc/makedoc
+jing http://docs.oasis-open.org/docbook/rng/5.0/docbook.rng xmldoc/readme.xml
xsltproc \
--output gpsbabel.html \
--stringparam toc.section.depth "1" \
--stringparam make.clean.html "1" \
--stringparam html.valid.html "1" \
--stringparam html.stylesheet "https://www.gpsbabel.org/style3.css" \
- http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
+ http://docbook.sourceforge.net/release/xsl-ns/current/xhtml/docbook.xsl \
xmldoc/readme.xml
mkdir -p "${web}/htmldoc-${docversion}"
perl xmldoc/makedoc
-xmllint --noout --valid xmldoc/readme.xml #valid and well-formed
+jing http://docs.oasis-open.org/docbook/rng/5.0/docbook.rng xmldoc/readme.xml
xsltproc \
--stringparam base.dir "${web}/htmldoc-${docversion}/" \
--stringparam root.filename "index" \
set -ex
perl xmldoc/makedoc
-xmllint --noout --valid xmldoc/readme.xml #valid and well-formed
+jing http://docs.oasis-open.org/docbook/rng/5.0/docbook.rng xmldoc/readme.xml
xsltproc -o gpsbabel.fo xmldoc/babelpdf.xsl xmldoc/readme.xml
HOME=. fop -q -fo gpsbabel.fo -pdf gpsbabel.pdf
exclude-result-prefixes="exsl">
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl"/>
+<xsl:import href="http://docbook.sourceforge.net/release/xsl-ns/current/xhtml/chunk.xsl"/>
<xsl:param name="use.id.as.filename">1</xsl:param>
<xsl:param name="chunk.first.sections">1</xsl:param>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:exsl="http://exslt.org/common"
+ xmlns:db="http://docbook.org/ns/docbook"
version="1.0"
exclude-result-prefixes="exsl">
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
+<xsl:import href="http://docbook.sourceforge.net/release/xsl-ns/current/fo/docbook.xsl"/>
<!-- turn on extensions for newer versions of fop. In particular, this makes
the XSL generate an fo bookmark-tree, which fop translates into bookmarks
<!-- This template formats userinput as a block-level element and adds the
background and border we use in the HTML doc, for consistency. RLP -->
-<xsl:template match="userinput">
+<xsl:template match="db:userinput">
<fo:block background-color="#E5E9EB" padding="4pt"
break-after="auto" border="1pt dashed #000000">
<xsl:call-template name="inline.boldmonoseq"/>
</fo:block>
</xsl:template>
<!-- Sometimes we use userinput and sometimes screen. Format both. -->
-<xsl:template match="screen">
+<xsl:template match="db:screen">
<fo:block background-color="#e5E9EB" padding="4pt"
break-after="auto" border="1pt dashed #000000">
<xsl:call-template name="inline.boldmonoseq"/>
<!-- This template is used to get rid of a lot of warnings we were getting
from fop due to the fact that it doesn't support table-layout="auto".
Auto is apparently the default if no table layout is specified. RLP -->
-<xsl:template match="simplelist">
+<xsl:template match="db:simplelist">
<!-- with no type specified, the default is 'vert' -->
<xsl:variable name="explicit.table.width">
<xsl:call-template name="dbfo-attribute">
--- /dev/null
+--- chapters/build.xml.new 2022-10-27 09:44:25.567011354 -0600
++++ chapters/build.xml 2022-10-27 09:49:05.876956001 -0600
+@@ -30,7 +30,7 @@
+ <variablelist>
+ <varlistentry>
+ <term>
+- Qt
++ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://qt-project.org">Qt</link>
+ </term>
+ <listitem>
+ <para>
+@@ -45,7 +45,7 @@
+ </varlistentry>
+ <varlistentry>
+ <term>
+- libusb 1.0
++ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://libusb.sourceforge.net">libusb 1.0</link>
+ </term>
+ <listitem>
+ <para>
-<chapter id="Getting_and_Building">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Getting_and_Building">
<title>Getting or Building GPSBabel</title>
- <sect1 id="Download">
+ <section xml:id="Download">
<title>Downloading - the easy way.</title>
<para>
GPSBabel is distributed "ready to run" on most common
operating systems via the
-<ulink url="https://www.gpsbabel.org/download.html">download page</ulink>.
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.gpsbabel.org/download.html">download page</link>.
</para>
<para> As GPSBabel runs on a wide variety of operating systems,
be sure to visit the
-<ulink url="https://www.gpsbabel.org/osnotes.html">OS-Specific notes</ulink> for
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.gpsbabel.org/osnotes.html">OS-Specific notes</link> for
additional information.
</para>
- </sect1>
- <sect1 id="Source">
+ </section>
+ <section xml:id="Source">
<title>Building from source.</title>
<para>
For operating systems where no binary is provided, or if
etc. Clang/LLVM, GNU C++, and MSVC are regularly exercised via automation.
</para>
<para>
-You can grab a release from the <ulink url="https://www.gpsbabel.org/download.html">GPSBabel download page</ulink>, but if you're going to be doing any development, you'll find that working from the <ulink url="https://github.com/gpsbabel/gpsbabel">GPSBabel Github repo</ulink> is easier. Checkouts via Git, HTTPS, SSH, and Subversion are supported.
+You can grab a release from the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.gpsbabel.org/download.html">GPSBabel download page</link>, but if you're going to be doing any development, you'll find that working from the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://github.com/gpsbabel/gpsbabel">GPSBabel Github repo</link> is easier. Checkouts via Git, HTTPS, SSH, and Subversion are supported.
</para>
<para>There are external requirements for bulding.</para>
<variablelist>
<varlistentry>
<term>
- <ulink url="http://qt-project.org">Qt</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://qt-project.org">Qt</link>
</term>
<listitem>
<para>
Qt version 5.12 or newer is required for all builds. MacOS and Windows users can download
-binaries from <ulink url="http://qt-project.org/downloads">Qt Downloads</ulink>
+binaries from <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://qt-project.org/downloads">Qt Downloads</link>
Fedora or CentOS users may need to 'dnf install qt5-qtbase-devel'. When in doubt, 'dnf search qt' or 'dnf search qt5' may help you find the correct package name. Ubuntu users may need to 'apt-get install qt5-default'. Package names
and versions in Linux frequently change, so you may need to ask your Linux vendor
for help or look in tools/Docker* for inspiration for our automated builds that
</varlistentry>
<varlistentry>
<term>
- <ulink url="http://libusb.sourceforge.net">libusb 1.0</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://libusb.sourceforge.net">libusb 1.0</link>
</term>
<listitem>
<para>
</listitem>
</varlistentry>
</variablelist>
- <sect2 id="Internal_History">
+ <section xml:id="Internal_History">
<title>Brief history of internals</title>
<para>
Parts of GPSBabel have been public since 2002, with some of the original
not enforced style rules as strongly across modules as we could have. Fixing
both of these is a goal for us in 2020.
</para>
- </sect2>
- <sect2 id="Qt">
+ </section>
+ <section xml:id="Qt">
<title>Building with Qt Creator</title>
<para>
Qt provides a lovely IDE (Integrated Development Evironment) with an
editor and debugger. Its use is strongly encouraged for those new to C++.
Once you have Qt correctly installed, just opening the <filename>
CMakeLists.txt</filename> from
-the File->Open menu in an already-running instance of <ulink url="https://www.qt.io/development-tools">Qt Creator</ulink> is the fastest and easiest way for most
+the File->Open menu in an already-running instance of <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.qt.io/development-tools">Qt Creator</link> is the fastest and easiest way for most
people to get to development because it handles things like build dependencies
changing and class and method compilation.
</para>
<para>
A path of low resistance for some users is to use the CMakeLists.txt file
-from the command line. If you type <ulink url="https://cmake.org/cmake/help/latest/">cmake .</ulink> in our working
+from the command line. If you type <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://cmake.org/cmake/help/latest/">cmake .</link> in our working
directory it will create a buildsystem with the default generator (Unix Makefiles or Visual Studio) which you can use for development.
</para>
- </sect2>
- <sect2 id="cmake">
+ </section>
+ <section xml:id="cmake">
<title>Building from the command line</title>
<para>
Those familiar with the command line may be more comfortable using cmake from the command line.
</listitem>
</varlistentry>
</variablelist>
- </sect2>
- <sect2 id="Runtime_Dependencies">
+ </section>
+ <section xml:id="Runtime_Dependencies">
<title>Runtime Dependencies:</title>
<para>
On non-macOS unix builds by default we now compile in the gpsbabel generated
used if they are found. They may be in a package such as qttranslations5-l10n
or qt5-qttranslations.
</para>
- </sect2>
- </sect1>
+ </section>
+ </section>
</chapter>
-<appendix id="Datums">
+<appendix xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Datums">
<title>Supported Datums</title>
<para>
Some formats in GPSBabel support multiple datums. For example, the
<member>Sweden</member>
</simplelist>
</appendix>
-
- <chapter id="Data_Filters">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Data_Filters">
<title>Data Filters</title>
<para> GPSBabel supports data filtering. Data filters are
invoked from the command line via the '-x' option. It should be
<para> Beware that most filters only apply to a certain kind of
data. This is usually indicated below by referring to points,
tracks or routes in the first sentence which describes each
- filter or in the table at <ulink url="https://www.gpsbabel.org/capabilities.html">gpsbabel.org</ulink>
+ filter or in the table at <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.gpsbabel.org/capabilities.html">gpsbabel.org</link>
.
</para>
&filters;
- <chapter id="The_Formats">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="The_Formats">
<title>The Formats</title>
&formats;
</chapter>
-<appendix id="GarminIcons">
+<appendix xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="GarminIcons">
<title>Garmin Icons</title>
<para>Following is a list of the valid values for the
-<glossary id="Glossary">
+<glossary xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Glossary">
<title>Glossary</title>
<para>Terms that are used in conjunction with GPSBabel.</para>
- <glossdiv id="G">
+ <glossdiv xml:id="G">
<title>G</title>
- <glossentry id="gl_xml">
+ <glossentry xml:id="gl_xml">
<glossterm>Geocaching</glossterm>
<glossdef>
- <para>GPS based "paper chase", see
+ <para>GPS based "paper chase", see
- <ulink url="http://en.wikipedia.org/wiki/Geocaching"/></para>
+ <uri xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://en.wikipedia.org/wiki/Geocaching">http://en.wikipedia.org/wiki/Geocaching</uri></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>I</title>
- <glossentry id="gl_itinerary">
+ <glossentry xml:id="gl_itinerary">
<glossterm>Itinerary</glossterm>
<glossdef>
<para>same as a Route (e.g. used by TomTom)</para>
</glossdef>
</glossentry>
</glossdiv>
- <glossdiv id="P">
+ <glossdiv xml:id="P">
<title>P</title>
- <glossentry id="gl_poi">
+ <glossentry xml:id="gl_poi">
<glossterm>Points of Interest (POI)</glossterm>
<glossdef>
<para>a collection of gas stations, post boxes, shops and
</glossdef>
</glossentry>
</glossdiv>
- <glossdiv id="R">
+ <glossdiv xml:id="R">
<title>R</title>
- <glossentry id="gl_route">
+ <glossentry xml:id="gl_route">
<glossterm>Route</glossterm>
<glossdef>
<para>a list of geopoints (often with names) connected in
defining the route you want to pass while traveling,
created by PC software, or generated inside a GPS device.
They can be composed of existing waypoints, or new
- "routepoints" might be generated.</para>
+ "routepoints" might be generated.</para>
</glossdef>
</glossentry>
</glossdiv>
- <glossdiv id="T">
+ <glossdiv xml:id="T">
<title>T</title>
- <glossentry id="gl_track">
+ <glossentry xml:id="gl_track">
<glossterm>Track</glossterm>
<glossdef>
<para>a collection of geopoints recorded by your GPS
- device while traveling -- "breadcrumb trails". The order
+ device while traveling -- "breadcrumb trails". The order
of trackpoints within the track is important. Usually a
trackpoint doesn't have a name or comment, but a
timestamp. This distinguishes a trackpoint from a
</glossdef>
</glossentry>
</glossdiv>
- <glossdiv id="W">
+ <glossdiv xml:id="W">
<title>W</title>
- <glossentry id="gl_waypoint">
+ <glossentry xml:id="gl_waypoint">
<glossterm>Waypoints</glossterm>
<glossdef>
<para>are geopoints that are not necessarily connected to
</glossdef>
</glossentry>
</glossdiv>
-</glossary>
\ No newline at end of file
+</glossary>
-<preface id="Introduction">
+<preface xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Introduction">
<title>Introduction to GPSBabel</title>
- <section id="The_Problem">
+ <section xml:id="The_Problem">
<title>The Problem: Too many incompatible GPS file formats</title>
<para>There are simply too many gratuitously different file formats
to hold waypoint, track, and route information in various programs
used by computers and GPS receivers.
- <ulink url="http://www.topografix.com/gpx.asp">GPX</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.topografix.com/gpx.asp">GPX</link>
defines a
standard in XML to contain all the data, but there are too many
programs that don't understand it yet and too much data in
<para>GPSBabel actually solves that problem for you and much more...
</para>
</section>
- <section id="The_Solution">
+ <section xml:id="The_Solution">
<title>The Solution</title>
<para>The original author of GPSBabel,
- <ulink url="/people/robertlipe.html">Robert Lipe</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/people/robertlipe.html">Robert Lipe</link>
, needed to convert waypoints between a couple of formats, so he
whipped up a converter and designed it upon an extensible foundation so
that it was easy to add new formats and made the program freely available.
- <ulink url="/people/index.html">Many others</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/people/index.html">Many others</link>
have contributed to the program since then.</para>
<para>Most file formats added so far have taken under 200
lines of reasonable ISO C so they can be stamped
-<appendix id="Styles">
+<appendix xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Styles">
<title>GPSBabel XCSV Style Files</title>
- <section id="styles_intro">
+ <section xml:id="styles_intro">
<title>Introduction to GPSBabel Styles</title>
- <para>Often it is desirable to add a new file format for "one-off" work (perhaps
+ <para>Often it is desirable to add a new file format for "one-off" work (perhaps
you want to export something to a spreadsheet or graphing program) or to read
a format that GPSBabel does not yet support. For suitably simple formats,
this can be done by a user with no programming experience by providing a
<para>Once you have created a style file that describes the file format you have
or want, you must tell GPSBabel to use the xcsv format and have the xcsv
format use that file. If you created a new style file called
-"mystyle.style" and you want to write the waypoints from
-a GPX file named "mine.gpx" to it, you would issue a command like:
+"mystyle.style" and you want to write the waypoints from
+a GPX file named "mine.gpx" to it, you would issue a command like:
</para>
<para>
<userinput>gpsbabel -i gpx -f mine.gpx -o xcsv,style=mystyle.style -F mine.new</userinput>
Send it along with a coherent description to the GPSBabel-Misc mailing
list for consideration to be included in a future version.</para>
</section>
- <section id="style_intro2">
+ <section xml:id="style_intro2">
<title>Style file overview</title>
<para>The first and foremost important step is understanding how the style
file is laid out itself. The format is:
</para>
- <screen format="linespecific">DIRECTIVE<whitespace>VALUE</screen>
+ <screen>DIRECTIVE<whitespace>VALUE</screen>
<para>Where <whitespace> is one or more spaces or tabs. There should
be no spaces or tabs at the beginning of the line; all directives start
at the left edge in column zero.
#
FIELD_DELIMITER TAB
RECORD_DELIMITER NEWLINE
-BADCHARS ,"
+BADCHARS ,"
PROLOGUE Name Latitude Longitude Description URL Type Container Diff Terr
# EXPORT THIS ANYWHERE SO WE CAN HAVE OUR
# WAY WITH THE FORMATTING.
#
-IFIELD SHORTNAME, "", "%s" # Name
-IFIELD LAT_DECIMAL, "", "%f" # Latitude
-IFIELD LON_DECIMAL, "", "%f" # Longitude
-IFIELD DESCRIPTION, "", "%s" # Name 2 (Big Description)
-IFIELD URL, "", "%s" # URL
-IFIELD GEOCACHE_TYPE, "", "%s" # Geocache Type
-IFIELD GEOCACHE_CONTAINER, "", "%s" # Geocache Type
-IFIELD GEOCACHE_DIFF, "", "%3.1f" # Geocache Type
-IFIELD GEOCACHE_TERR, "", "%3.1f" # Geocache Type
+IFIELD SHORTNAME, "", "%s" # Name
+IFIELD LAT_DECIMAL, "", "%f" # Latitude
+IFIELD LON_DECIMAL, "", "%f" # Longitude
+IFIELD DESCRIPTION, "", "%s" # Name 2 (Big Description)
+IFIELD URL, "", "%s" # URL
+IFIELD GEOCACHE_TYPE, "", "%s" # Geocache Type
+IFIELD GEOCACHE_CONTAINER, "", "%s" # Geocache Type
+IFIELD GEOCACHE_DIFF, "", "%3.1f" # Geocache Type
+IFIELD GEOCACHE_TERR, "", "%3.1f" # Geocache Type
</literallayout>
Each of these lines will be explained in the following sections.</para>
</section>
<!-- intro -->
- <section id="styles_internal_const">
+ <section xml:id="styles_internal_const">
<title>Internal Constants</title>
<para>A few internal constants are defined in the XCSV parser to make the style
file simpler. They may or may not be used and are optional in most cases.
</seglistitem>
<seglistitem>
<seg>DOUBLEQUOTE</seg>
- <seg>"</seg>
+ <seg>"</seg>
</seglistitem>
<seglistitem>
<seg>COLON</seg>
</seglistitem>
</segmentedlist>
</para>
- <section id="style_const_whitespace">
+ <section xml:id="style_const_whitespace">
<title>WHITESPACE</title>
<para>The WHITESPACE constant has special properties. When reading data,
WHITESPACE refers to sequential runs of SPACES and/or TABS. When
</para>
<para>For example, the following line:
</para>
- <screen format="linespecific">SOME_NAME 30.1208 -91.1365 SOME OTHER NAME
+ <screen>SOME_NAME 30.1208 -91.1365 SOME OTHER NAME
</screen>
<para>Parses into the following data fields:
</para>
- <screen format="linespecific">SOME_NAME,30.1208,-91.1365,SOME,OTHER,NAME
+ <screen>SOME_NAME,30.1208,-91.1365,SOME,OTHER,NAME
</screen>
</section>
- <section id="style_const_comments">
+ <section xml:id="style_const_comments">
<title>COMMENTS</title>
<para>Anything after a hash (#) on a line is not parsed. For example:
</para>
- <screen format="linespecific">#THIS ENTIRE LINE IS A COMMENT.
-#FIELD LAT_DECIMAL, "", "%f" THIS ENTIRE LINE IS A COMMENT
-FIELD LAT_DECIMAL, "", "%f" # ONLY THIS SENTENCE IS A COMMENT.
+ <screen>#THIS ENTIRE LINE IS A COMMENT.
+#FIELD LAT_DECIMAL, "", "%f" THIS ENTIRE LINE IS A COMMENT
+FIELD LAT_DECIMAL, "", "%f" # ONLY THIS SENTENCE IS A COMMENT.
</screen>
</section>
</section>
<!-- internal constants -->
- <section id="style_global">
+ <section xml:id="style_global">
<title>Global Properties of the File</title>
<para>There are a few available directives to describe general traits of the
file being described and not specific data within the file itself.
</para>
- <section id="style_global_description">
+ <section xml:id="style_global_description">
<title>DESCRIPTION</title>
<para>This is the description of the file format being described. This text
appears in the help screens and in menus used by the various GUI wrappers.
</para>
</section>
- <section id="style_global_extension">
+ <section xml:id="style_global_extension">
<title>EXTENSION</title>
<para>This directive gives the filename extension generally associated with
this file.
</para>
</section>
- <section id="style_global_encoding">
+ <section xml:id="style_global_encoding">
<title>ENCODING</title>
<para>Describes the character set used by this format. The value given
must be one listed by 'gpsbabel -l'. example:
</para>
- <screen format="linespecific">ENCODING UTF-8 # Use UTF-8 for input and output.
+ <screen>ENCODING UTF-8 # Use UTF-8 for input and output.
</screen>
</section>
- <section id="style_global_datum">
+ <section xml:id="style_global_datum">
<title>DATUM</title>
<para>This value specifies the GPS datum to be used on read or write. Valid values for this
option are listed in
<xref linkend="Datums"/>
.</para>
- <screen format="linespecific">DATUM European 1950
+ <screen>DATUM European 1950
</screen>
</section>
- <section id="style_global_datatype">
+ <section xml:id="style_global_datatype">
<title>DATATYPE</title>
<para>Specifies the kind of data we have to read or write.
</para>
<para>By default all data are seen as waypoint data. With DATATYPE you are now able to bind
a specific type to this format. Possible values are WAYPOINT, ROUTE or TRACK.
</para>
- <screen format="linespecific">DATATYPE ROUTE # route-only format
+ <screen>DATATYPE ROUTE # route-only format
</screen>
</section>
</section>
<!-- global -->
- <section id="style_behavior">
+ <section xml:id="style_behavior">
<title>GPSBabel Behavior Directives</title>
<para>There are a few available directives to control some of the internal
processing functions of GPSBabel.
</para>
- <section id="style_behave_shortlen">
+ <section xml:id="style_behave_shortlen">
<title>SHORTLEN</title>
<para>This sets the maximum allowed shortname length when using the internal
shortname synthesizer.
</para>
<para>example:
</para>
- <screen format="linespecific">SHORTLEN 16 # shortnames will be at most 16 characters long.
+ <screen>SHORTLEN 16 # shortnames will be at most 16 characters long.
</screen>
</section>
- <section id="style_behave_shortwhite">
+ <section xml:id="style_behave_shortwhite">
<title>SHORTWHITE</title>
<para>This tells the shortname synthesizer whether or not to allow whitespace
in the synthesized shortnames. Allowed values are zero and one.
</para>
<para>example:
</para>
- <screen format="linespecific">SHORTWHITE 0 # Do not allow whitespace in shortname.
+ <screen>SHORTWHITE 0 # Do not allow whitespace in shortname.
SHORTWHITE 1 # Allow whitespace in shortname.
</screen>
</section>
</section>
<!-- behavior -->
- <section id="style_layout">
+ <section xml:id="style_layout">
<title>Defining the Layout of the File</title>
<para>The first few directives define the layout the physical file itself:
</para>
- <section id="style_layout_field">
+ <section xml:id="style_layout_field">
<title>FIELD_DELIMITER</title>
<para>The field delimiter defines the character(s) that separate the fields in
the rows of data inside the XCSV file. Common field delimiters are commas
- and tabs. (referred to as "comma separated values" and "tab separated
- values")
+ and tabs. (referred to as "comma separated values" and "tab separated
+ values")
</para>
<para>examples:
</para>
- <screen format="linespecific">FIELD_DELIMITER COMMA
+ <screen>FIELD_DELIMITER COMMA
FIELD_DELIMITER ~
</screen>
<para>The directive FIELD_DELIMITER is parsed for STYLE CONSTANTS as defined in
the table above.
</para>
</section>
- <section id="style_layout_field_enclose">
+ <section xml:id="style_layout_field_enclose">
<title>FIELD_ENCLOSER</title>
<para>The field encloser defines the character(s) that surround the field values.
Common field enclosers are single and double quote marks. Many styles will
</para>
<para>examples:
</para>
- <screen format="linespecific">FIELD_ENCLOSER DOUBLEQUOTE
+ <screen>FIELD_ENCLOSER DOUBLEQUOTE
FIELD_ENCLOSER SINGLEQUOTE
</screen>
<para>The directive FIELD_ENCLOSER is parsed for STYLE CONSTANTS as defined in
the table above.
</para>
</section>
- <section id="style_layout_rec">
+ <section xml:id="style_layout_rec">
<title>RECORD_DELIMITER</title>
<para>The record delimiter defines that character(s) that separate ROWS of
data (FIELDS) in the XCSV file. The most common record delimiters
</para>
<para>examples:
</para>
- <screen format="linespecific">RECORD_DELIMITER NEWLINE
+ <screen>RECORD_DELIMITER NEWLINE
RECORD_DELIMITER |
</screen>
<para>The directive RECORD_DELIMITER is parsed for STYLE CONSTANTS as defined
in the table above.
</para>
</section>
- <section id="style_layout_badchars">
+ <section xml:id="style_layout_badchars">
<title>BADCHARS</title>
<para>Bad characters are things that should *never* be written into the XCSV
file as data on output. GPSBabel automatically includes any non-blank
</para>
<para>examples:
</para>
- <screen format="linespecific">BADCHARS COMMA
+ <screen>BADCHARS COMMA
BADCHARS ~|
</screen>
<para>The directive BADCHARS is parsed for STYLE CONSTANTS as defined in the
table above.
</para>
</section>
- <section id="style_layout_prologue">
+ <section xml:id="style_layout_prologue">
<title>PROLOGUE</title>
<para>A prologue is basically constant data that is written to the output
file BEFORE any waypoints are processed. PROLOGUE can be defined
- multiple times in the style file, once for each "line" before the data
- begins. This is commonly used in XCSV files as a "header" row.
+ multiple times in the style file, once for each "line" before the data
+ begins. This is commonly used in XCSV files as a "header" row.
</para>
<para>examples:
</para>
- <screen format="linespecific">PROLOGUE OziExplorer Waypoint File Version 1.1
+ <screen>PROLOGUE OziExplorer Waypoint File Version 1.1
PROLOGUE WGS 84
PROLOGUE Symbol,Name,Latitude,Longitude
</screen>
</section>
- <section id="style_layout_epilogue">
+ <section xml:id="style_layout_epilogue">
<title>EPILOGUE</title>
<para>An Epilogue is the same as a prologue, except this data is written at
the END of the file. See the examples for PROLOGUE above.
</section>
</section>
<!-- layout -->
- <section id="style_define">
+ <section xml:id="style_define">
<title>Defining Fields Within the File</title>
<para>A field defines data. There are two different classifications of FIELDS,
IFIELD (file input) and OFIELD (file output). In the absence of any OFIELDS,
IFIELDS are use as both input and output. The existence of OFIELDS is
primarily to allow more flexible mapping of GPSBabel data to output data
-(say, for instance, to map the internal GPSBabel "description" variable to
+(say, for instance, to map the internal GPSBabel "description" variable to
two or more fields on output). For all practical purposes, IFIELDS and
OFIELDS are defined the same way in the style file.</para>
<para>The following per-field options are defined:
</para>
<itemizedlist>
<listitem>
- <para>"no_delim_before" is supported on in OFIELD tags to specify that this
+ <para>"no_delim_before" is supported on in OFIELD tags to specify that this
field should be written without a field delimiter before it. It's
useful for limited field concatenation.
</para>
</listitem>
<listitem>
- <para>"absolute" is supported on OFIELD tags for lat and lon to indicate
+ <para>"absolute" is supported on OFIELD tags for lat and lon to indicate
that only absolute values (never negative) are to be printed.
</para>
</listitem>
<listitem>
- <para>"optional" is supported only OFIELD tags and indicates that the
+ <para>"optional" is supported only OFIELD tags and indicates that the
field may or may not be available in the source data. If the
field is absent, no trailing field separator is written.
</para>
- <para>This attribute is most useful when paired with "no_delim_before" as
+ <para>This attribute is most useful when paired with "no_delim_before" as
it allows you to concatenate fields without concern for whether those
fields are actually populated or not.
</para>
</para>
<para>The fields used by the XCSV parser are as follows:
</para>
- <section id="style_def_ignore">
+ <section xml:id="style_def_ignore">
<title>IGNORE</title>
<para>IGNORE fields are, guess what, ignored on input. Internally, IGNORE
fields are treated as CHARACTER data, and as such, require a printf
</para>
<para>examples:
</para>
- <screen format="linespecific">IFIELD IGNORE,"","%14.14s" # (writes a 14 character blank field)
- IFIELD IGNORE,"","%s" # (writes a blank field on output)
+ <screen>IFIELD IGNORE,"","%14.14s" # (writes a 14 character blank field)
+ IFIELD IGNORE,"","%s" # (writes a blank field on output)
</screen>
</section>
- <section id="style_def_constant">
+ <section xml:id="style_def_constant">
<title>CONSTANT</title>
<para>CONSTANT fields are, of course, constant. They are ignored on input,
however they write CONSTANT data on output. As such, they require a
</para>
<para>examples:
</para>
- <screen format="linespecific">IFIELD CONSTANT,"FFFFFF","%s" # (writes "FFFFFF" in the field)
- IFIELD CONSTANT,"01/01/70","%s" # (a constant date field)
+ <screen>IFIELD CONSTANT,"FFFFFF","%s" # (writes "FFFFFF" in the field)
+ IFIELD CONSTANT,"01/01/70","%s" # (a constant date field)
</screen>
</section>
- <section id="style_def_index">
+ <section xml:id="style_def_index">
<title>INDEX</title>
<para>An INDEX field is used ONLY on output. The INDEX constant defines a field
that, at output, contains the sequence number of the waypoint being
</para>
<para>examples:
</para>
- <screen format="linespecific">IFIELD INDEX,"0","%04d" # (Starts counting at zero)
- IFIELD INDEX,"","%04d" # (Starts counting at zero)
- IFIELD INDEX,"1","%04d" # (Starts counting at one)
+ <screen>IFIELD INDEX,"0","%04d" # (Starts counting at zero)
+ IFIELD INDEX,"","%04d" # (Starts counting at zero)
+ IFIELD INDEX,"1","%04d" # (Starts counting at one)
</screen>
</section>
- <section id="style_def_shortname">
+ <section xml:id="style_def_shortname">
<title>SHORTNAME</title>
<para>A SHORTNAME is generally the waypoint name of the data being processed.
SHORTNAME maps directly to the GPSBabel variable ->shortname. A SHORTNAME
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD SHORTNAME,"","%s"
+ <screen>IFIELD SHORTNAME,"","%s"
</screen>
</section>
- <section id="style_def_description">
+ <section xml:id="style_def_description">
<title>DESCRIPTION</title>
<para>A DESCRIPTION is generally a long description of the waypoint. A
DESCRIPTION maps to the GPSBabel variable ->description and is otherwise
</para>
<para>examples:
</para>
- <screen format="linespecific">IFIELD DESCRIPTION,"","%s"
+ <screen>IFIELD DESCRIPTION,"","%s"
</screen>
</section>
- <section id="style_def_notes">
+ <section xml:id="style_def_notes">
<title>NOTES</title>
<para>NOTES are generally everything else about a waypoints. NOTES map to the
GPSBabel variable ->notes and is otherwise handled exactly like a
SHORTNAME.
</para>
</section>
- <section id="style_def_url">
+ <section xml:id="style_def_url">
<title>URL</title>
<para>URL is a URL for the waypoint. URL maps to the GPSBabel variable
->url and is otherwise handled exactly like a SHORTNAME.
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD URL,"","%s"
+ <screen>IFIELD URL,"","%s"
</screen>
</section>
- <section id="style_def_urllinktext">
+ <section xml:id="style_def_urllinktext">
<title>URL_LINK_TEXT</title>
<para>URL_LINK_TEXT is a textual description of where a URL points.
URL_LINK_TEXT maps to the GPSBabel variable ->url_link_text and
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD URL_LINK_TEXT,"","%s"
+ <screen>IFIELD URL_LINK_TEXT,"","%s"
</screen>
</section>
- <section id="style_def_icondescr">
+ <section xml:id="style_def_icondescr">
<title>ICON_DESCR</title>
<para>ICON_DESCR is a textual description of an icon type for a waypoint.
ICON_DESCR maps to the GPSBabel variable ->icon_desc and is otherwise
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD ICON_DESCR,"","%s"
+ <screen>IFIELD ICON_DESCR,"","%s"
</screen>
</section>
- <section id="style_def_latdec">
+ <section xml:id="style_def_latdec">
<title>LAT_DECIMAL</title>
<para>LAT_DECIMAL defines LATITUDE in DECIMAL format. Note that this is a PURE
signed decimal format (i.e. -91.0000). This data is handled internally as
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD LAT_DECIMAL,"","%f"
+ <screen>IFIELD LAT_DECIMAL,"","%f"
</screen>
</section>
- <section id="style_def_londec">
+ <section xml:id="style_def_londec">
<title>LON_DECIMAL</title>
<para>See LAT_DECIMAL, except LON_DECIMAL defines LONGITUDE.
</para>
</section>
- <section id="style_def_latint32">
+ <section xml:id="style_def_latint32">
<title>LAT_INT32DEG</title>
<para>LAT_INT32DEG defines LATITUDE in what I call INT32DEGREES. This value is
a signed LONG INTEGER and requires a LONG INTEGER printf conversion.
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD LAT_INT32DEG,"","%ld"
+ <screen>IFIELD LAT_INT32DEG,"","%ld"
</screen>
</section>
- <section id="style_def_lonint32">
+ <section xml:id="style_def_lonint32">
<title>LON_INT32DEG</title>
<para>See LON_INT32DEG except LON_INT32DEG defines LONGITUDE.
</para>
</section>
- <section id="style_def_latdirdec">
+ <section xml:id="style_def_latdirdec">
<title>LAT_DECIMALDIR / LAT_DIRDECIMAL</title>
<para>LAT_DECIMALDIR and LAT_DIRDECIMAL define LATITUDE in DECIMAL format
with the added bonus of a 'N/S' or 'E/W' direction character. This data
</para>
<para>examples:
</para>
- <screen format="linespecific">IFIELD LAT_DECIMALDIR,"","%f %c" # (writes 31.333 N)
- IFIELD LAT_DIRDECIMAL,"","%c %f" # (writes N 31.333)
+ <screen>IFIELD LAT_DECIMALDIR,"","%f %c" # (writes 31.333 N)
+ IFIELD LAT_DIRDECIMAL,"","%c %f" # (writes N 31.333)
</screen>
</section>
- <section id="style_def_londirdec">
+ <section xml:id="style_def_londirdec">
<title>LON_DECIMALDIR / LON_DIRDECIMAL</title>
<para>Same as LAT_DECIMALDIR / LAT_DIRDECIMAL except LON_ defines LONGITUDE.
</para>
</section>
- <section id="style_def_latlondir">
+ <section xml:id="style_def_latlondir">
<title>LAT_DIR / LON_DIR</title>
<para>LAT_DIR returns the single character 'N' or 'S' depending on the
hemisphere of the latitude. LON_DIR returns 'E' or 'W' depending on
the hemisphere of the longitude.
</para>
</section>
- <section id="style_def_lathuman">
+ <section xml:id="style_def_lathuman">
<title>LAT_HUMAN_READABLE</title>
<para>LAT_HUMAN_READABLE defines LATITUDE in a human-readable format. This
format is probably the most expressive format. It is similar to
</para>
<para>examples:
</para>
- <screen format="linespecific"># (writes N 31 40.000)
- IFIELD LAT_HUMAN_READABLE,"","%c %d %f"
- # (writes "31 deg 40.000 min N")
- IFIELD LAT_HUMAN_READABLE,"","%d deg %f min %c"
+ <screen># (writes N 31 40.000)
+ IFIELD LAT_HUMAN_READABLE,"","%c %d %f"
+ # (writes "31 deg 40.000 min N")
+ IFIELD LAT_HUMAN_READABLE,"","%d deg %f min %c"
# Note that this string will confuse the reading routine due
- # to the letter "n" in "min" and the letter "e" in "deg."
+ # to the letter "n" in "min" and the letter "e" in "deg."
# (writes 31 40 00.000N)
- IFIELD LAT_HUMAN_READABLE,"","%d %d %f%c"
+ IFIELD LAT_HUMAN_READABLE,"","%d %d %f%c"
</screen>
</section>
- <section id="style_def_map_en_bng">
+ <section xml:id="style_def_map_en_bng">
<title>MAP_EN_BNG</title>
<para>MAP_EN_BNG converts coordinates from/to British National Grid (BNG).
</para>
</para>
<para>examples:
</para>
- <screen format="linespecific">IFIELD MAP_EN_BNG,"","%s%5d %5d" # (writes i.e. "SJ00001 00001")
- IFIELD MAP_EN_BNG,"","%s %d %d" # (writes i.e. "TQ 888 999")
+ <screen>IFIELD MAP_EN_BNG,"","%s%5d %5d" # (writes i.e. "SJ00001 00001")
+ IFIELD MAP_EN_BNG,"","%s %d %d" # (writes i.e. "TQ 888 999")
</screen>
</section>
- <section id="style_def_lonhuman">
+ <section xml:id="style_def_lonhuman">
<title>LON_HUMAN_READABLE</title>
<para>See LAT_HUMAN_READABLE except LON_HUMAN_READABLE defines LONGITUDE.
</para>
</section>
- <section id="style_def_latlonhuman">
+ <section xml:id="style_def_latlonhuman">
<title>LATLON_HUMAN_READABLE</title>
<para>LATLON_HUMAN_READABLE is like LAT_HUMAN_READABLE and LON_HUMAN_READABLE
except that it reads and writes both latitude and longitude as a single
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD LATLON_HUMAN_READABLE,"","%c %d %f"
- # (writes "N 31 40.126 W 85 09.62" as a single field)
+ <screen>IFIELD LATLON_HUMAN_READABLE,"","%c %d %f"
+ # (writes "N 31 40.126 W 85 09.62" as a single field)
</screen>
</section>
- <section id="style_def_latnmea">
+ <section xml:id="style_def_latnmea">
<title>LAT_NMEA</title>
<para>Defines the latitude in the format used by the NMEA standard which is
degrees multiplied by 100 plus decimal minutes.
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD LAT_NMEA, "%f", "%08.3f" # (writes 3558.322)
+ <screen>IFIELD LAT_NMEA, "%f", "%08.3f" # (writes 3558.322)
</screen>
</section>
- <section id="style_def_latddmmdir">
+ <section xml:id="style_def_latddmmdir">
<title>LAT_DDMMDIR</title>
<para>Derived from the LAT_NMEA latitude format, with degrees * 100 plus decimal
minutes, but using an additional specifier to position the 'N' or 'S' instead of a leading minus sign (or
absence thereof) to give direction from zero.
</para>
<para>
- <screen format="linespecific">IFIELD LAT_DDMMDIR, "%f", "%08.3f%c" # (writes "5334.192S" giving -53.56987 degrees latitude)
+ <screen>IFIELD LAT_DDMMDIR, "%f", "%08.3f%c" # (writes "5334.192S" giving -53.56987 degrees latitude)
</screen>
</para>
</section>
- <section id="style_def_lonnmea">
+ <section xml:id="style_def_lonnmea">
<title>LON_NMEA</title>
<para>Defines the longitude in the format used by the NMEA standard which is
degrees multiplied by 100 plus decimal minutes.
</para>
<para>Example:
</para>
- <screen format="linespecific">IFIELD LON_NMEA, "%f", "%010.3f" # (writes -08708.082)
+ <screen>IFIELD LON_NMEA, "%f", "%010.3f" # (writes -08708.082)
</screen>
</section>
- <section id="style_def_londdmmdir">
+ <section xml:id="style_def_londdmmdir">
<title>LON_DDMMDIR</title>
<para>Derived from the LON_NMEA longitude format, with degrees * 100 plus decimal minutes, but using an additional character format character to position the
'E' or 'W' instead of a leading minus sign (or absence thereof) to give direction from zero.
</para>
<para>Example:
</para>
- <screen format="linespecific">IFIELD LON_DDMMDIR, "%f", "%010.3f%c" # (writes "01232.745W" giving -12.54575 degrees
+ <screen>IFIELD LON_DDMMDIR, "%f", "%010.3f%c" # (writes "01232.745W" giving -12.54575 degrees
longitude)
</screen>
</section>
- <section id="style_def_latlon_10ex">
+ <section xml:id="style_def_latlon_10ex">
<title>LAT_10EX / LON_10EX</title>
<para>Defines the latitude or longitude in the format used i.e. by TomTom Navigator
itinerary files. It is degrees multiplied by 10 power X. X have to be replaced with
</para>
<para>examples:
</para>
- <screen format="linespecific">IFIELD LAT_10E5, "%f", "%.f" # (writes 3558322)
+ <screen>IFIELD LAT_10E5, "%f", "%.f" # (writes 3558322)
</screen>
- <screen format="linespecific">IFIELD LON_10E5, "%f", "%.f" # (writes -8708082)
+ <screen>IFIELD LON_10E5, "%f", "%.f" # (writes -8708082)
</screen>
</section>
- <section id="style_def_utm">
+ <section xml:id="style_def_utm">
<title>UTM</title>
<para>A location in UTM has several components: a zone, a northing, and an easting. The UTM format specifier is the most common representation of these.
</para>
<para>example: </para>
- <screen format="linespecific">IFIELD UTM, "", "%s" # writes 6S 519045 3984035 -the easting is first by convention.</screen>
+ <screen>IFIELD UTM, "", "%s" # writes 6S 519045 3984035 -the easting is first by convention.</screen>
</section>
- <section id="style_def_utm_easting">
+ <section xml:id="style_def_utm_easting">
<title>UTM_EASTING</title>
<para>This is the decimal component representing the easting
</para>
<para>example: </para>
- <screen format="linespecific">IFIELD UTM_EASTING, "", "%.0f" # outputs 519045
+ <screen>IFIELD UTM_EASTING, "", "%.0f" # outputs 519045
</screen>
</section>
- <section id="style_def_utm_northing">
+ <section xml:id="style_def_utm_northing">
<title>UTM_NORTHING</title>
<para>This is the decimal component representing the northing
</para>
<para>example: </para>
- <screen format="linespecific">IFIELD UTM_NORTHING "", "%.0f" # outputs 3984035
+ <screen>IFIELD UTM_NORTHING "", "%.0f" # outputs 3984035
</screen>
</section>
- <section id="style_def_utm_zone">
+ <section xml:id="style_def_utm_zone">
<title>UTM_ZONE</title>
<para>The UTM zone.
</para>
<para>example: </para>
- <screen format="linespecific">IFIELD UTM_ZONE "", "%d" # outputs 6
+ <screen>IFIELD UTM_ZONE "", "%d" # outputs 6
</screen>
</section>
- <section id="style_def_utm_zonec">
+ <section xml:id="style_def_utm_zonec">
<title>UTM_ZONEC</title>
<para>The UTM Zone character.
</para>
<para>example: </para>
- <screen format="linespecific">IFIELD UTM_ZONEC "", "%c" # outputs S
+ <screen>IFIELD UTM_ZONEC "", "%c" # outputs S
</screen>
</section>
- <section id="style_def_utm_zonef">
+ <section xml:id="style_def_utm_zonef">
<title/>
<para>The full UTM zone and latitude band.
</para>
<para>example: </para>
- <screen format="linespecific">IFIELD UTM_ZONEF "", "%d%c" # outputs 6S
+ <screen>IFIELD UTM_ZONEF "", "%d%c" # outputs 6S
</screen>
</section>
- <section id="style_def_altfeet">
+ <section xml:id="style_def_altfeet">
<title>ALT_FEET</title>
<para>ALT_FEET is the position's ALTITUDE in FEET. This value is treated as
a SIGNED DOUBLE PRECISION FLOAT and requires a FLOATING POINT printf
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD ALT_FEET,"","%.0f"
+ <screen>IFIELD ALT_FEET,"","%.0f"
</screen>
</section>
- <section id="style_def_altmeters">
+ <section xml:id="style_def_altmeters">
<title>ALT_METERS</title>
<para>ALT_METERS is identical to ALT_FEET with the exception that the altitude
is in METERS.
</para>
</section>
- <section id="style_def_heartrate">
+ <section xml:id="style_def_heartrate">
<title>HEART_RATE</title>
<para>Heart rate, measured in beats per minute. Only valid for units with
heart rate monitor features (i.e. Garmin Forerunner 301).
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD HEART_RATE,"","%d"
+ <screen>IFIELD HEART_RATE,"","%d"
</screen>
</section>
- <section id="style_def_cadence">
+ <section xml:id="style_def_cadence">
<title>CADENCE</title>
<para>Cadence in revolutions per minute. Only valid for units with
heart rate monitor features (i.e. Garmin Edge 305).
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD CADENCE,"","%d"
+ <screen>IFIELD CADENCE,"","%d"
</screen>
</section>
- <section id="style_def_power">
+ <section xml:id="style_def_power">
<title>POWER</title>
<para>Cycling power in Watts. Only valid for units with power meter
features (i.e. Garmin Edge 305).
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD POWER,"","%.1f"
+ <screen>IFIELD POWER,"","%.1f"
</screen>
</section>
- <section id="style_def_temperature">
+ <section xml:id="style_def_temperature">
<title>TEMPERATURE</title>
<para>Temperature in degrees Celsius.
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD TEMPERATURE,"","%.1f"
+ <screen>IFIELD TEMPERATURE,"","%.1f"
</screen>
</section>
- <section id="style_def_temperaturef">
+ <section xml:id="style_def_temperaturef">
<title>TEMPERATURE_F</title>
<para>Temperature in degrees Fahrenheit.
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD TEMPERATURE_F,"","%.1f"
+ <screen>IFIELD TEMPERATURE_F,"","%.1f"
</screen>
</section>
- <section id="style_def_exceltime">
+ <section xml:id="style_def_exceltime">
<title>EXCEL_TIME</title>
<para>EXCEL_TIME is the waypoint's creation time, if any. This is actually
the decimal days since 1/1/1900 and is handled internally as a DOUBLE
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD EXCEL_TIME,"","%11.5f"
+ <screen>IFIELD EXCEL_TIME,"","%11.5f"
</screen>
</section>
- <section id="style_def_timettime">
+ <section xml:id="style_def_timettime">
<title>TIMET_TIME</title>
<para>TIMET_TIME is the waypoint's creation time, if any. This is actually
the integer seconds since 1970-01-01T00:00:00 UTC. It
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD TIMET_TIME,"","%lld"
+ <screen>IFIELD TIMET_TIME,"","%lld"
</screen>
</section>
- <section id="style_def_timettimems">
+ <section xml:id="style_def_timettimems">
<title>TIMET_TIME_MS</title>
<para>TIMET_TIME_MS is the same as TIMET_TIME, but expressed in milliseconds.
It too is handled internally as a 64 bit integer and requires a LONG LONG INTEGER
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD TIMET_TIME_MS,"","%lld"
+ <screen>IFIELD TIMET_TIME_MS,"","%lld"
</screen>
</section>
- <section id="style_def_yyyymmdd">
+ <section xml:id="style_def_yyyymmdd">
<title>YYYYMMDD_TIME</title>
<para>YYYYMMDD_TIME is the waypoint's creation time, if any. It's a single
decimal field containing four digits of year, two digits of month,
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD YYYYMMDD_TIME,"","%ld"
+ <screen>IFIELD YYYYMMDD_TIME,"","%ld"
</screen>
</section>
- <section id="style_def_gmttime">
+ <section xml:id="style_def_gmttime">
<title>GMT_TIME</title>
<para>GMT_TIME is the waypoint's creation time, in UTC time zone. It uses the
strptime conversion format tags.
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD GMT_TIME,"","%m/%d/%Y %I:%M:%D %p"
+ <screen>IFIELD GMT_TIME,"","%m/%d/%Y %I:%M:%D %p"
</screen>
<para>Search the web for 'strptime man page' for details strptime, but one
such page can be found at
- <ulink url="http://www.die.net/doc/linux/man/man3/strptime.3.html">http://www.die.net/doc/linux/man/man3/strptime.3.html</ulink></para>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.die.net/doc/linux/man/man3/strptime.3.html">http://www.die.net/doc/linux/man/man3/strptime.3.html</link></para>
</section>
- <section id="style_def_localtime">
+ <section xml:id="style_def_localtime">
<title>LOCAL_TIME</title>
<para>LOCAL_TIME is the waypoint's creation time, in the local
time zone. It uses strptime conversion format tags. See GMT_TIME for a
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD LOCAL_TIME,"","%y-%m-%d"
+ <screen>IFIELD LOCAL_TIME,"","%y-%m-%d"
</screen>
</section>
- <section id="style_def_hmsgtime">
+ <section xml:id="style_def_hmsgtime">
<title>HMSG_TIME</title>
<para>HMSG_TIME parses up to three time parts and am/pm string to add
this value to the previously parsed *_TIME field that contains
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD HMSG_TIME,"","%d:%d:%d %s"
+ <screen>IFIELD HMSG_TIME,"","%d:%d:%d %s"
</screen>
</section>
- <section id="style_def_hmsltime">
+ <section xml:id="style_def_hmsltime">
<title>HMSL_TIME</title>
<para>HMSG_TIME parses up to three time parts and am/pm string to add
this value to the previously parsed *_TIME field that contains
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD HMSL_TIME,"","%dh%dm"
+ <screen>IFIELD HMSL_TIME,"","%dh%dm"
</screen>
</section>
- <section id="style_def_isotime">
+ <section xml:id="style_def_isotime">
<title>ISO_TIME</title>
<para>ISO_TIME is the waypoint's creation time, in ISO 8601 format,
which include time zone information.
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD ISO_TIME,"","%s"
+ <screen>IFIELD ISO_TIME,"","%s"
</screen>
</section>
- <section id="style_def_isotimems">
+ <section xml:id="style_def_isotimems">
<title>ISO_TIME_MS</title>
<para>ISO_TIME_MS is much like ISO_TIME, but expresses milliseconds at the
end of the timestamp.
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD ISO_TIME_MS,"","%s"
+ <screen>IFIELD ISO_TIME_MS,"","%s"
</screen>
</section>
- <section id="style_def_nettime">
+ <section xml:id="style_def_nettime">
<title>NET_TIME</title>
<para>Microsoft dot net represents times in 100 nanosecond intervals since midnight
Jan 1/0001 GMT, giving absurdly large numbers like 633943150010000000 for
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD NET_TIME,"","%lld"
+ <screen>IFIELD NET_TIME,"","%lld"
</screen>
</section>
- <section id="style_def_geodiff">
+ <section xml:id="style_def_geodiff">
<title>GEOCACHE_DIFF</title>
<para>GEOCACHE_DIFF is valid only for geocaches and represents a DOUBLE
- PRECISION FLOAT. This is the geocache "difficulty" rating as defined by
- Groundspeak. A "three and a half star" cache would therefore be "3.5"
+ PRECISION FLOAT. This is the geocache "difficulty" rating as defined by
+ Groundspeak. A "three and a half star" cache would therefore be "3.5"
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD GEOCACHE_DIFF,"","%3.1f"
+ <screen>IFIELD GEOCACHE_DIFF,"","%3.1f"
</screen>
</section>
- <section id="style_def_geoterr">
+ <section xml:id="style_def_geoterr">
<title>GEOCACHE_TERR</title>
<para>GEOCACHE_TERR is valid only for geocaches and represents a DOUBLE
- PRECISION FLOAT. This is the geocache "terrain" rating as defined
- by Groundspeak. A "three and a half star" cache would therefore be "3.5"
+ PRECISION FLOAT. This is the geocache "terrain" rating as defined
+ by Groundspeak. A "three and a half star" cache would therefore be "3.5"
</para>
<para>example:
</para>
- <screen format="linespecific">IFIELD GEOCACHE_TERR,"","%3.1f"
+ <screen>IFIELD GEOCACHE_TERR,"","%3.1f"
</screen>
</section>
- <section id="style_def_geocontainer">
+ <section xml:id="style_def_geocontainer">
<title>GEOCACHE_CONTAINER</title>
<para>GEOCACHE_CONTAINER is valid only for geocaches and is heavily influenced
- by the Groundspeak container types. Examples would include "Micro"
- and "Virtual".
+ by the Groundspeak container types. Examples would include "Micro"
+ and "Virtual".
</para>
<para>example:
</para>
- <screen format="linespecific">GEOCACHE_CONTAINER,"","%s"
+ <screen>GEOCACHE_CONTAINER,"","%s"
</screen>
</section>
- <section id="style_def_geotype">
+ <section xml:id="style_def_geotype">
<title>GEOCACHE_TYPE</title>
<para>GEOCACHE_TYPE is valid only for geocaches and is heavily influenced
- by the Groundspeak cache types. Examples would include "Event cache"
- and "Multi-Cache".
+ by the Groundspeak cache types. Examples would include "Event cache"
+ and "Multi-Cache".
</para>
<para>example:
</para>
- <screen format="linespecific">GEOCACHE_TYPE,"","%s"
+ <screen>GEOCACHE_TYPE,"","%s"
</screen>
</section>
- <section id="style_def_geoplacer">
+ <section xml:id="style_def_geoplacer">
<title>GEOCACHE_PLACER</title>
<para>GEOCACHE_PLACER is a string containing the name of the placer of a
geocache.
</para>
<para>example:
</para>
- <screen format="linespecific">GEOCACHE_PLACER,"","%s"
+ <screen>GEOCACHE_PLACER,"","%s"
</screen>
</section>
- <section id="style_def_isavailable">
+ <section xml:id="style_def_isavailable">
<title>GEOCACHE_ISAVAILABLE</title>
- <para>GEOCACHE_ISAVAILABLE is a string containing "True" or "False"
+ <para>GEOCACHE_ISAVAILABLE is a string containing "True" or "False"
indicating whether a geocache is currently available or not.
</para>
<para>example:
</para>
- <screen format="linespecific">GEOCACHE_ISAVAILABLE,"","%s"
+ <screen>GEOCACHE_ISAVAILABLE,"","%s"
</screen>
</section>
- <section id="style_def_isarchived">
+ <section xml:id="style_def_isarchived">
<title>GEOCACHE_ISARCHIVED</title>
- <para>GEOCACHE_ISARCHIVED is a string containing "True" or "False"
+ <para>GEOCACHE_ISARCHIVED is a string containing "True" or "False"
indicating whether a geocache has been archived.
</para>
<para>example:
</para>
- <screen format="linespecific">GEOCACHE_ISARCHIVED,"","%s"
+ <screen>GEOCACHE_ISARCHIVED,"","%s"
</screen>
</section>
- <section id="style_def_geofound">
+ <section xml:id="style_def_geofound">
<title>GEOCACHE_LAST_FOUND</title>
<para>A long integer in format YYYYMMDD containing the last time this geocache
was found.
</para>
<para>example:
</para>
- <screen format="linespecific">GEOCACHE_LAST_FOUND,"","%ld"
+ <screen>GEOCACHE_LAST_FOUND,"","%ld"
</screen>
</section>
- <section id="style_def_geohint">
+ <section xml:id="style_def_geohint">
<title>GEOCACHE_HINT</title>
<para>The hint for this geocache. No additional transformation (such as rot13)
will be performed on this string.
</para>
<para>example:
</para>
- <screen format="linespecific">GEOCACHE_HINT,"","%s"
+ <screen>GEOCACHE_HINT,"","%s"
</screen>
</section>
- <section id="style_def_pathdistmi">
+ <section xml:id="style_def_pathdistmi">
<title>PATH_DISTANCE_MILES</title>
<para>PATH_DISTANCE_MILES outputs the total length of the route or track from
the start point to the current point, in miles. This and the altitude
</para>
<para>example:
</para>
- <screen format="linespecific">PATH_DISTANCE_MILES,"","%f"
+ <screen>PATH_DISTANCE_MILES,"","%f"
</screen>
</section>
- <section id="style_def_pathdistnm">
+ <section xml:id="style_def_pathdistnm">
<title>PATH_DISTANCE_NAUTICAL_MILES</title>
<para>PATH_DISTANCE_NAUTICAL_MILES is like PATH_DISTANCE_MILES except it outputs the
length in nautical miles.
</para>
</section>
- <section id="style_def_pathdistkm">
+ <section xml:id="style_def_pathdistkm">
<title>PATH_DISTANCE_KM</title>
<para>PATH_DISTANCE_KM is like PATH_DISTANCE_MILES except it outputs the
length in kilometers.
</para>
</section>
- <section id="style_def_pathdistm">
+ <section xml:id="style_def_pathdistm">
<title>PATH_DISTANCE_METERS</title>
<para>PATH_DISTANCE_METERS is like PATH_DISTANCE_MILES except it outputs the
length in meters.
</para>
</section>
- <section id="style_def_pathspeed">
+ <section xml:id="style_def_pathspeed">
<title>PATH_SPEED</title>
<para>Speed in meters per second. GPSBabel does NOT calculate this data by
default; it is read from the input file if present. (If not present,
filter.)</para>
<para>example:
</para>
- <screen format="linespecific">PATH_SPEED,"","%f"
+ <screen>PATH_SPEED,"","%f"
</screen>
</section>
- <section id="style_def_pathspeed_kph">
+ <section xml:id="style_def_pathspeed_kph">
<title>PATH_SPEED_KPH</title>
<para>Like PATH_SPEED but means kilometers per hour.
</para>
<para>example:
</para>
- <screen format="linespecific">PATH_SPEED_KPH,"","%.1f"
+ <screen>PATH_SPEED_KPH,"","%.1f"
</screen>
</section>
- <section id="style_def_pathspeed_mph">
+ <section xml:id="style_def_pathspeed_mph">
<title>PATH_SPEED_MPH</title>
<para>Like PATH_SPEED but means miles per hour.
</para>
<para>example:
</para>
- <screen format="linespecific">PATH_SPEED_MPH,"","%.1f"
+ <screen>PATH_SPEED_MPH,"","%.1f"
</screen>
</section>
- <section id="style_def_pathspeed_knots">
+ <section xml:id="style_def_pathspeed_knots">
<title>PATH_SPEED_KNOTS</title>
<para>Like PATH_SPEED but means knots (nautical).
</para>
<para>example:
</para>
- <screen format="linespecific">PATH_SPEED_KNOTS,"","%.1f"
+ <screen>PATH_SPEED_KNOTS,"","%.1f"
</screen>
</section>
- <section id="style_def_pathcourse">
+ <section xml:id="style_def_pathcourse">
<title>PATH_COURSE</title>
<para>Course in degrees. GPSBabel does not calculate this data by default;
it is read from the input file if present. (If not present, it may be
filter.)</para>
<para>example:
</para>
- <screen format="linespecific">PATH_COURSE,"","%f"
+ <screen>PATH_COURSE,"","%f"
</screen>
</section>
- <section id="style_def_dop">
+ <section xml:id="style_def_dop">
<title>GPS_HDOP / GPS_VDOP / GPS_PDOP</title>
<para>GPS horizontal / vertical / positional dilution of precision
parameters. Needs float conversion.
</para>
<para>example:
</para>
- <screen format="linespecific">GPS_HDOP,"","%f"
+ <screen>GPS_HDOP,"","%f"
</screen>
</section>
- <section id="style_def_gpssat">
+ <section xml:id="style_def_gpssat">
<title>GPS_SAT</title>
<para>Number of satellites used for determination of the position. Needs
integer conversion.
</para>
<para>example:
</para>
- <screen format="linespecific">GPS_SAT,"","%d"
+ <screen>GPS_SAT,"","%d"
</screen>
</section>
- <section id="style_def_gpsfix">
+ <section xml:id="style_def_gpsfix">
<title>GPS_FIX</title>
<para>Type of fix (see GPX spec or
filter). Needs string conversion.</para>
<para>example:
</para>
- <screen format="linespecific">GPS_FIX,"","%s"
+ <screen>GPS_FIX,"","%s"
</screen>
</section>
- <section id="style_track_new">
+ <section xml:id="style_track_new">
<title>TRACK_NEW</title>
<para>If '1', it indicates that this trackpoint is the first point of a new track. Needs integer conversion.</para>
<para>example:
- <screen format="linespecific">IFIELD TRACK_NEW,"","%d"</screen></para>
+ <screen>IFIELD TRACK_NEW,"","%d"</screen></para>
</section>
- <section id="style_track_name">
+ <section xml:id="style_track_name">
<title>TRACK_NAME</title>
<para>The name of the track currently being operated on. Needs string conversion.</para>
<para>example:
- <screen format="linespecific">TRACK_NAME, "", "%s"</screen></para>
+ <screen>TRACK_NAME, "", "%s"</screen></para>
</section>
- <section id="style_route_name">
+ <section xml:id="style_route_name">
<title>ROUTE_NAME</title>
<para>The name of the route currently being operated on. Needs string conversion.</para>
<para>example:
- <screen format="linespecific">ROUTE_NAME, "", "%s"</screen></para>
+ <screen>ROUTE_NAME, "", "%s"</screen></para>
</section>
- <section id="style_street_addr">
+ <section xml:id="style_street_addr">
<title>STREET_ADDR</title>
<para>Street address including house number. Notice that this is not used for any geocoding, it's merely textual description associated with a position.</para>
<para>example:
- <screen format="linespecific">STREET_ADDR, "", "%s"</screen></para>
+ <screen>STREET_ADDR, "", "%s"</screen></para>
</section>
- <section id="style_city">
+ <section xml:id="style_city">
<title>CITY</title>
- <para>The name of a city. Sometimes part of "Points of Interest". This is simple textual data associated with a position, no geocoding will be done..</para>
+ <para>The name of a city. Sometimes part of "Points of Interest". This is simple textual data associated with a position, no geocoding will be done..</para>
<para>example:
- <screen format="linespecific">CITY, "", "%s"</screen></para>
+ <screen>CITY, "", "%s"</screen></para>
</section>
- <section id="style_country">
+ <section xml:id="style_country">
<title>COUNTRY</title>
<para>The name of a country associated with a position.</para>
<para>example:
- <screen format="linespecific">COUNTRY, "", "%s"</screen></para>
+ <screen>COUNTRY, "", "%s"</screen></para>
</section>
- <section id="style_email">
+ <section xml:id="style_email">
<title>EMAIL</title>
<para>An email address associated with a position.</para>
<para>example:
- <screen format="linespecific">EMAIL, "", "%s"</screen></para>
+ <screen>EMAIL, "", "%s"</screen></para>
</section>
- <section id="style_facility">
+ <section xml:id="style_facility">
<title>FACILITY</title>
<para>The name of a facility to associate with a position.</para>
<para>example:
- <screen format="linespecific">FACILITY, "", "%s"</screen></para>
+ <screen>FACILITY, "", "%s"</screen></para>
</section>
- <section id="style_phone_nr">
+ <section xml:id="style_phone_nr">
<title>PHONE_NR</title>
<para>A phone number associated with a position. This is just textual data attached for convenience.</para>
<para>example:
- <screen format="linespecific">PHONE_NR, "", "%s"</screen></para>
+ <screen>PHONE_NR, "", "%s"</screen></para>
</section>
- <section id="style_postal_code">
+ <section xml:id="style_postal_code">
<title>POSTAL_CODE</title>
<para>A postal code to associate with a position. It is freeform text and is not used by GPSBabel for any geocoding or such.</para>
<para>example:
- <screen format="linespecific">POSTAL_CODE, "", "%s"</screen></para>
+ <screen>POSTAL_CODE, "", "%s"</screen></para>
</section>
- <section id="style_filename">
+ <section xml:id="style_filename">
<title>FILENAME</title>
<para>The name of the input file from where the points were loaded. This field is available only on output.</para>
<para>example:
- <screen format="linespecific">OFIELD FILENAME, "", "%s"</screen></para>
+ <screen>OFIELD FILENAME, "", "%s"</screen></para>
</section>
- <section id="style_format">
+ <section xml:id="style_format">
<title>FORMAT</title>
<para>The name of the input format from where format the points came. This field is available only on output.</para>
<para>example:
- <screen format="linespecific">OFIELD FORMAT, "", "%s"</screen></para>
+ <screen>OFIELD FORMAT, "", "%s"</screen></para>
</section>
</section>
<!-- definitions -->
- <section id="style_examples">
+ <section xml:id="style_examples">
<title>Examples</title>
<para>Here is one example style file from the GPSBabel source.
#
# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:
#
-IFIELD LON_HUMAN_READABLE, "", "%08.5f"
-IFIELD LAT_HUMAN_READABLE, "", "%08.5f"
-IFIELD SHORTNAME, "", "%s"
-IFIELD DESCRIPTION, "", "%s"
-
-OFIELD LON_DECIMAL, "", "%08.5f"
-OFIELD LAT_DECIMAL, "", "%08.5f"
-OFIELD SHORTNAME, "", "%-.24s"
-OFIELD GEOCACHE_TYPE, "", " %-.4s", "no_delim_before,optional"
-OFIELD GEOCACHE_CONTAINER, "", "/%-.4s ", "no_delim_before,optional"
-OFIELD GEOCACHE_DIFF, "", "(%3.1f", "no_delim_before,optional"
-OFIELD GEOCACHE_TERR, "", "/%3.1f)", "no_delim_before,optional"
-OFIELD DESCRIPTION, "", "%-.50s"
+IFIELD LON_HUMAN_READABLE, "", "%08.5f"
+IFIELD LAT_HUMAN_READABLE, "", "%08.5f"
+IFIELD SHORTNAME, "", "%s"
+IFIELD DESCRIPTION, "", "%s"
+
+OFIELD LON_DECIMAL, "", "%08.5f"
+OFIELD LAT_DECIMAL, "", "%08.5f"
+OFIELD SHORTNAME, "", "%-.24s"
+OFIELD GEOCACHE_TYPE, "", " %-.4s", "no_delim_before,optional"
+OFIELD GEOCACHE_CONTAINER, "", "/%-.4s ", "no_delim_before,optional"
+OFIELD GEOCACHE_DIFF, "", "(%3.1f", "no_delim_before,optional"
+OFIELD GEOCACHE_TERR, "", "/%3.1f)", "no_delim_before,optional"
+OFIELD DESCRIPTION, "", "%-.50s"
</literallayout>
When used on a Groundspeak Pocket Query, it will output lines that
look like:
subdirectory of the GPSBabel source tree or at the
- <ulink url="https://github.com/gpsbabel/gpsbabel/tree/master/style">online source.</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://github.com/gpsbabel/gpsbabel/tree/master/style">online source.</link>
.</para>
</section>
<!-- examples -->
- <section id="style_notes">
+ <section xml:id="style_notes">
<title>Miscellaneous Notes</title>
- <section id="style_notes_default">
+ <section xml:id="style_notes_default">
<title>Default Values</title>
<para>Default values are supported for any output fields that contain pure
character data output such as URL and NOTES. Default values are only
</section>
<!-- notes -->
</appendix>
-<!-- style -->
-<chapter id="Usage">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Usage">
<title>Usage</title>
- <sect1 id="Invocation">
+ <section xml:id="Invocation">
<title>Invocation</title>
<para>If you're using GPSBabel, you will need to know how to do at least two things:
read data from a file, and write it to another file. There are four basic
<para>This command will read from a Magellan unit attached
to the first serial port on a Linux system (device names will
vary on other OSes; typically COMx: on Windows) and write them as a geocaching loc file.</para>
- <example id="linux_download_from_magellan">
+ <example xml:id="linux_download_from_magellan">
<title>Command showing Linux download from Magellan serial and writing to .loc file</title>
<para>
<userinput>gpsbabel -i magellan -f /dev/ttyS0 -o geo -F mag.loc</userinput>
</para>
</example>
<para>This second command does the same on Microsoft Windows.</para>
- <example id="windows_download_from_magellan">
+ <example xml:id="windows_download_from_magellan">
<title>Command showing Windows download from Magellan serial and writing to .loc file</title>
<para>
<userinput>gpsbabel -i magellan -f com1 -o geo -F mag.loc</userinput>
</para>
</example>
<para>Optionally, you may specify
- <parameter moreinfo="none">-s</parameter>
+ <parameter>-s</parameter>
in any command line. This
- causes the program to ignore any "short" names that may be
+ causes the program to ignore any "short" names that may be
present in the source data format and synthesize one from the
long name. This is particularly useful if you're writing to
a target format that isn't the lowest common denominator but
the source data was written for the lowest common
denominator. This is useful for writing data from geocaching.com
- to a GPS so my waypoints have "real" names instead of
+ to a GPS so my waypoints have "real" names instead of
the 'GC1234' ones that are optimized for receivers of the lowest
common denominator.
A geocacher using Linux with a Magellan receiver may thus find commands
<para>
<userinput>gpsbabel -s -i geo -f geocaching.loc -o magellan -F com1</userinput>
</para>
- </sect1>
- <sect1 id="Suboptions">
+ </section>
+ <section xml:id="Suboptions">
<title>Suboptions</title>
<para>Many of the available format options in GPSBabel can themselves
take options. While we try to make all the formats do the most
<xref linkend="fmt_kml"/>
:</para>
<para>
- <userinput>gpsbabel -i gpx -f file.gpx -o kml,deficon="file://myicon.png",lines=0 -F one.kml -o kml -F two.kml</userinput>
+ <userinput>gpsbabel -i gpx -f file.gpx -o kml,deficon="file://myicon.png",lines=0 -F one.kml -o kml -F two.kml</userinput>
</para>
<para>This command will read the GPX file
<filename>file.gpx</filename>
filetype are documented on the page in this document that describes
the option itself.
</para>
- </sect1>
- <sect1 id="Advanced_Usage">
+ </section>
+ <section xml:id="Advanced_Usage">
<title>Advanced Usage</title>
<para>Argument are processed in the order they appear on the command
line and are translated internally into a pipeline that data flows
</para>
<para>The input file type remains unchanged until a new
- <parameter moreinfo="none">-i</parameter>
+ <parameter>-i</parameter>
argument is seen.
Files are read in the order they appear. So you could merge
three input files into one output file with: </para>
- <example id="merging_files">
+ <example xml:id="merging_files">
<title>Merging multiple files into one</title>
<para>
<userinput>gpsbabel -i geo -f 1.loc -f 2.loc -f 3.loc -o geo -F big.loc</userinput>
</para>
</example>
<para>You can merge files of different types:</para>
- <example id="merging_different_types_of_files">
+ <example xml:id="merging_different_types_of_files">
<title>Merging multiple files of differing types.</title>
<para>
<userinput>gpsbabel -i geo -f 1.loc -i gpx -f 2.gpx -i pcx 3.pcx -o gpsutil -F big.gps</userinput>
</para>
</example>
- <example id="multiple_writes">
+ <example xml:id="multiple_writes">
<title>Writing the same data in multiple output formats.</title>
<para>You can write the same data in different output formats:</para>
<para>
<userinput>gpsbabel -i geo -f 1.loc -o gpx -F 1.gpx -o pcx -F 1.wpt</userinput>
</para>
</example>
- </sect1>
- <sect1 id="Route_And_Track_Modes">
+ </section>
+ <section xml:id="Route_And_Track_Modes">
<title>Route and Track Modes</title>
<para>Most formats supported by GPSBabel will make a reasonable attempt to work
transparently with waypoints, tracks, and routes. Some
and
<link linkend="fmt_magellan">magellan</link>
require the
- <parameter moreinfo="none">-t</parameter>
+ <parameter>-t</parameter>
flag to work with tracks and
- <parameter moreinfo="none">-r</parameter>
+ <parameter>-r</parameter>
to work with
routes.
- <parameter moreinfo="none">-w</parameter>
+ <parameter>-w</parameter>
is for
waypoints, and is the default. So if you wanted to read all
data from a Magellan Meridian GPS receiver into a gpx file, you might use a command
always result in a list of waypoints, not the original track.
</para>
<para>The presence of
- <parameter moreinfo="none">-s</parameter>
+ <parameter>-s</parameter>
on the command line tends to
create havoc on tracks and routes since many of these formats
rely on internal linkages between such points and renaming
them may break those linkages. In general, don't use
- <parameter moreinfo="none">-s</parameter>
+ <parameter>-s</parameter>
when tracks or
routes are present.</para>
- </sect1>
- <sect1 id="inifile">
+ </section>
+ <section xml:id="inifile">
<title>Working with predefined options</title>
<para>GPSBabel can read a file on startup to set defaults for options. All
module and filter options may be set this way.
<para>current working directory</para>
</listitem>
<listitem>
- <para>Windows: all paths "APPDATA", "WINDIR", "SYSTEMROOT" declared in environment.</para>
+ <para>Windows: all paths "APPDATA", "WINDIR", "SYSTEMROOT" declared in environment.</para>
</listitem>
<listitem>
<para>Unix like OS'ses:
The inifile mechanism can be disabled with an empty filename.
</para>
<para>
- <userinput>gpsbabel -p "" -i gpx -f something.gpx -o tiger -F -</userinput>
+ <userinput>gpsbabel -p "" -i gpx -f something.gpx -o tiger -F -</userinput>
</para>
- </sect1>
- <sect1 id="tracking">
+ </section>
+ <section xml:id="tracking">
<title>Realtime tracking</title>
<para>Introduced in GPSBabel 1.3.1, we now have an
<emphasis>experimental</emphasis>
inputs. KML, NMEA, and the various XCSV formats are supported on
output. Additional formats may be added by interested parties
later.</para>
- <example id="realtime_reading">
+ <example xml:id="realtime_reading">
<title>Read realtime positioning from Garmin USB, write to Keyhole Markup</title>
<para>
<userinput>gpsbabel -T -i garmin -f usb: -o kml -F example.kml</userinput>
suitable for a self-refreshing network link in Google Earth.
</para>
</example>
- <example id="realtime_reading_wintec">
+ <example xml:id="realtime_reading_wintec">
<title>Read realtime positioning from Wintec WBT-201 via Bluetooth on Mac, write to Keyhole Markup</title>
<para>
<userinput>gpsbabel -T -i nmea -f /dev/cu.G-Rays2-SPPslave-1 -o kml -F example.kml</userinput>
<link linkend="fmt_garmin">Garmin USB</link>
. These names
- (except the "usb:" parlance for Garmin USB) are assigned by
+ (except the "usb:" parlance for Garmin USB) are assigned by
your operating system.</para>
- </sect1>
- <sect1 id="batchfile">
+ </section>
+ <section xml:id="batchfile">
<title>Batch mode (command files)</title>
<para>In addition to reading arguments from the command line, GPSBabel can
read directions from batch (or command) files via the
<member>-i gdb</member>
<member>-f croatia_2006.gdb</member>
<member>-x nuketypes,waypoints,routes</member>
- <member>-x track,pack,split,title="LOG # %Y%m%d"</member>
+ <member>-x track,pack,split,title="LOG # %Y%m%d"</member>
</simplelist>
- </sect1>
- <sect1 id="all_options">
+ </section>
+ <section xml:id="all_options">
<title>List of Options</title>
<para>The complete list of available options to GPSBabel can be obtained by
running
<xref linkend="inifile"/>
for more info.</para>
<para>
- <option>-s</option>Write "smart" names. This option influences some - but not all - of our writers to try to build "smart" waypoint names. For example, in modules that know about geocaching, it may replace "GC1234" with the actual name of the geocache.</para>
+ <option>-s</option>Write "smart" names. This option influences some - but not all - of our writers to try to build "smart" waypoint names. For example, in modules that know about geocaching, it may replace "GC1234" with the actual name of the geocache.</para>
<para>
- <option>-r</option>Work on routes. This option has a subtly different meaning in different cases. As the very first formats in GPSBabel were for serial GPSes and routes and tracks were large and thus time-consuming to transfer, the default was waypoints only with this option to turn on the extra data. Some of our file formats use this option to mean "work only on routes, even if you have tracks/waypoints", but we're trying to discourage that behavior and in most cases, consider it a bug. </para>
+ <option>-r</option>Work on routes. This option has a subtly different meaning in different cases. As the very first formats in GPSBabel were for serial GPSes and routes and tracks were large and thus time-consuming to transfer, the default was waypoints only with this option to turn on the extra data. Some of our file formats use this option to mean "work only on routes, even if you have tracks/waypoints", but we're trying to discourage that behavior and in most cases, consider it a bug. </para>
<para>
<option>-t</option>Work on tracks. See
<option>-r</option>
<option>-?</option>Print help. </para>
<para>
<option>-V</option>Print version number. </para>
- </sect1>
+ </section>
</chapter>
--- /dev/null
+#!/bin/bash -e
+
+fixem() {
+encapsulate=$1
+echo encapsulate "$encapsulate"
+for file in *.xml
+do
+if [ "$file" != "allchapters.xml" ]; then
+if [ "$file" != "_chapters.xml" ]; then
+ echo "converting $file ($(wc -c "$file" | awk '{print $1}') bytes)"
+ if [ "$encapsulate" = "yes" ]; then
+ echo -e "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE book PUBLIC \"-//OASIS//DTD DocBook XML V4.5//EN\" \"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\">\n<book><chapter><title>T</title>\n$(cat $file)" > "$file"
+ echo "</chapter></book>" >> "$file"
+ fi
+ xmllint --noout --valid "$file" || true
+ # db4-upgrade.xsl from https://docbook.org/xml/5.1/docbook-v5.1-os.zip
+ xsltproc -o "$file".new /home/tsteven4/builds/docbook-v5.1/tools/db4-upgrade.xsl "$file"
+ if [ "$encapsulate" == "yes" ]; then
+ head --lines=-1 "$file".new | tail --lines=+3 > "$file"
+ else
+ tail --lines=+2 "$file".new > "$file"
+ fi
+ rm "$file".new
+fi
+fi
+done
+}
+
+pushd xmldoc
+pushd formats
+fixem yes
+# 4.5 productname defaulted to class=trade. 5.0 does not, use trademark
+for file in *.xml
+do
+ echo -e "<fake>\n$(cat $file)" > "$file"
+ echo "</fake>" >> "$file"
+ xsltproc -o "$file".trademark ../tmissue.xsl "$file"
+ head --lines=-1 "$file".trademark | tail --lines=+2 > "$file"
+ rm "$file".trademark
+done
+pushd options
+# for some reason the upgrade wants to insert a ^L character in gpx-urlbase.xml unless we
+sed -e 's|\\|\\\\|g' -i gpx-urlbase.xml
+sed -e 's|\\|\\\\|g' -i subrip-format.xml
+sed -e 's|\\|\\\\|g' -i exif-filename.xml
+fixem yes
+popd
+popd
+pushd filters
+fixem yes
+pushd options
+fixem yes
+popd
+popd
+pushd chapters
+sed -e 's|&filters;|[[[filters]]]|' -i filters.xml
+sed -e 's|&formats;|[[[formats]]]|' -i formats.xml
+fixem no
+sed -e 's|\[\[\[filters\]\]\]|\&filters;|' -i filters.xml
+sed -e 's|\[\[\[formats\]\]\]|\&formats;|' -i formats.xml
+#sed -i -e '$a\' formats.xml
+#sed -i -e '$a\' filters.xml
+popd
+# the 5.1 version of db4-update.xsl drops the term/ulink
+patch -p0 <build.patch
+nonewlines=$(pcregrep -LMr '\n\Z' .)
+for file in ${nonewlines[@]}
+do
+ echo fixing newline in "$file"
+ sed -i -e '$a\' "$file"
+done
+popd
+perl xmldoc/makedoc
+
+
+
something like this sample:
</para>
-<screen format="linespecific">
+<screen>
# Lima Road/SR3 north of Fort Wayne, Indiana
41.150064468 -85.166207433
41.150064468 -85.165371895
itself or after the coordinates of the starting point of the new arc segment.
</para>
-<example id="example_arc_filter">
+<example xml:id="example_arc_filter">
<title>Using the arc filter</title>
<para>
Assuming the arc above is in a file called
-<filename moreinfo="none">lima_rd.txt</filename>, the following command line
+<filename>lima_rd.txt</filename>, the following command line
would include only points within one mile of the section of Lima Road
covered by the arc.
</para>
<para><userinput>gpsbabel -i geo -f 1.loc -x arc,file=lima_rd.txt,distance=1 -o mapsend -F 2.wpt</userinput></para>
</example>
-
<para><userinput>gpsbabel -i gpx -f route.gpx -x
bend,distance=25,interpolate,minangle=5 -o gpx -F newroute.gpx
</userinput></para>
-
HDOP and VDOP are measures of the best possible horizontal or vertical precision for a given configuration of GPS satellites. Higher numbers indicate a higher dilution of precision and therefore mathematically less useful.
</para>
<para>
-<example id="example_discard_filter">
+<example xml:id="example_discard_filter">
<title>Using the discard filter for HDOP and VDOP. </title>
<para><userinput> gpsbabel -i gpx -f in.gpx -x discard,hdop=10,vdop=20,hdopandvdop -o gpx -F out.gpx</userinput></para>
</example>
You may specify a minimum number of satellites.
</para>
<para>
-<example id="example_discard_filter_sats">
+<example xml:id="example_discard_filter_sats">
<title>Using the discard filter to require at least three satellites. </title>
<para><userinput> gpsbabel -i gpx -f in.gpx -x discard,sat=3 -o gpx -F out.gpx</userinput></para>
</example>
</para>
<para> Contributed by Tobias Minich and Serge Droz. </para>
-
<option>shortname</option> and <option>location</option>.
Generally, at least one of these options is required.
</para>
-<example id="duplicate_to_suppress_points">
+<example xml:id="duplicate_to_suppress_points">
<title>Using the duplicate filter to suppress points with the same
name and location</title>
<para>
</para>
<para><userinput> gpsbabel -i gpx -f 1.gpx -f 2.gpx -x duplicate,location,shortname -o gpx -F merged_with_no_dupes.gpx</userinput></para>
</example>
-
<option>wgs84tomsl</option> and <option>add</option>.
At least one of these options is required, both can be combined.
</para>
-<example id="height_wgs84tomsl">
+<example xml:id="height_wgs84tomsl">
<title> This option subtracts the WGS84 geoid height from every altitude. For GPS receivers like the iBlue747 the result is the height above mean see level.</title>
<para><userinput> gpsbabel -i gpx -f in.gpx -x height,wgs84tomsl -o gpx -F out.gpx</userinput></para>
<para>The coordinates and altitude vales must be based an the WGS84 ellipsoid for this option to produce sensible results</para>
</example>
-<example id="height_add">
+<example xml:id="height_add">
<title> This options adds a constant value to every altitude.</title>
<para><userinput> gpsbabel -i gpx -f in.gpx -x height,add=10.2f -o gpx -F out.gpx</userinput></para>
<para>You can specify negative numbers to subtract the value. If no unit is specified meters are assumed. For feet you can attach an "f" to the value.</para>
</example>
-
-
must specify either the
<option>distance</option> or the <option>time</option> option.
</para>
-<example id="example_interpolate_filter">
+<example xml:id="example_interpolate_filter">
<title>Using the interpolate filter</title>
<para>
This command line reads track.gpx and inserts points wherever two adjacent
waypoints, tracks, and routes. The nuketypes filter allows
removing all the data of any or all of those three types.
</para>
-<example id="example_nuketypes_filter">
+<example xml:id="example_nuketypes_filter">
<title>Filtering data types with nuketypes</title>
<para>
If you have a GPX file that contains routes, tracks, and
</para>
<para><userinput>gpsbabel -i gpx -f bigfile.gpx -x nuketypes,waypoints,routes -o gpx -F tracksonly.gpx</userinput></para>
</example>
-
Distances may be specified in miles (3M) or kilometers (5K). If no units
are specified, the distance is assumed to be in miles.
</para>
-
That is, points that are closer than <varname>distance</varname> are discarded
while points that are further away are kept.
</para>
-
filter; simply read it in the normal way and write it using the
<link linkend="fmt_arc">arc</link> file format.
</para>
-
This option makes the arc filter act like a multi-point version of the
<link linkend="filter_radius">radius</link> filter.
</para>
-
<para>The new points will be created at this distance. The first one in the
direction of the previous point, ant the second one in the direction
of the next point in the route.</para>
-
-
greater than this value. This avoids replacing a point if the GPS unit
is already pointing in the correct direction, or if the route reaches
a certain point and goes back the same road.</para>
-
<para>
This option drops waypoints with an altitude higher than the specified value (in meters). See elemin for an explanation why this may be useful.
</para>
-
this value will be discarded regardless of its VDOP, but see
<option>hdopandvdop</option>.
</para>
-
<para>
Like <option>matchname</option>, but instead matches on the comment.
</para>
-
This option discards points that have shortnames that match the
provided regular expression.
</para>
-<example id="discarding_points_with_names">
+<example xml:id="discarding_points_with_names">
<title>Discarding specific point by regular expression</title>
<para>
For example geocaches typically have names starting with GC followed
<para>
This option specifies the minimum required number of satellites.
</para>
-
this value will be discarded regardless of its HDOP, but see
<option>hdopandvdop</option>.
</para>
-
contain waypoints A, B, and C without the <option>all</option> option,
or just A and C with the <option>all</option> option.
</para>
-<example id="duplicate_to_ignore">
+<example xml:id="duplicate_to_ignore">
<title>Using the duplicate filter to implement an "ignore list."</title>
<para>
This option may be used to implement an "ignore list." In the following
</para>
<para><userinput>gpsbabel -i gpx -f waypoints.gpx -i csv -f to_ignore.csv -x duplicate,shortname,all -o gpx -F filtered.gpx</userinput></para>
</example>
-
As an example, this option may be used to adjust the locations of "puzzle"
geocaches in a Groundspeak pocket query:
</para>
-<example id="Correcting_Cache_Locations">
+<example xml:id="Correcting_Cache_Locations">
<title>Using the duplicate filter to correct the locations of "puzzle"
geocaches</title>
<para><userinput>gpsbabel -i gpx -f 43622.gpx -i csv -f corrections.csv -x duplicate,shortname,correct -o gpx -F 43622-corrected.gpx</userinput></para>
<option>shortname</option> option to remove duplicate waypoints if the names
of several unrelated groups of waypoints might be the same.
</para>
-
used to remove duplicates if you are merging two datasets that were
each created in part from a common ancestor dataset.
</para>
-
-
<para>
Either this option or the <option>time</option> must be specified.
</para>
-
<para>
Either this option or the <option>distance</option> must be specified.
</para>
-
<para>
This option causes the nuketypes filter to discard all route data.
</para>
-
<para>
This option causes the nuketypes filter to discard all track data.
</para>
-
This option causes the nuketypes filter to discard all waypoints that are not
associated with a track or route.
</para>
-
reversed. That is, points that are inside the polygon are discarded
while points that are further away are kept.
</para>
-
file are the same, as the polygon filter depends on that. You can do so
with any text editor.
</para>
-
<para>
This option may be used to entirely remove clusters of points.
</para>
-
Distances may be expressed in feet (30f) or meters (10m). If no unit is
specified, the distance is assumed to be in feet.
</para>
-
all of the points. In fact, for some data sets, it might be the least
efficient route.
</para>
-
-
<varname>maxcount</varname> points, but they will all be at least
<varname>distance</varname> away from the center. (And possibly sorted.)
</para>
-
points by distance from the center. They will remain in whatever order they
were originally.
</para>
-
If neither this option nor the <option>length</option> option is specified,
this is the default.
</para>
-
readability. When this option is specified, the popped state replaces
the current state.
</para>
-
but the <option>depth</option> can be used to specify a different saved
state.
</para>
-
previous trackpoint in the track. The first trackpoint in each track
is arbitrarily assigned a heading of 0 degrees.
</para>
-
This option is used in conjunction with the merge option to discard track points with missing
timestamps instead of aborting with the "Found track point at lat,lon without time!" error.
</para>
-<example id="ex_track_discard">
+<example xml:id="ex_track_discard">
<title>Merging tracks with missing timestamps with the track filter</title>
<para>
Suppose you want to merge tracks that may have missing timestamps. To do that, use this command line:
</para>
<para><userinput>gpsbabel -t -i gpx -f john.gpx -f doe.gpx -x track,merge,discard -o gpx -F john_doe.gpx</userinput></para>
</example>
-
The parameter was added because some software products (e.g. garmin training center)
require a time value for each trackpoint.
</para>
-<example id="ex_track_faketime1">
+<example xml:id="ex_track_faketime1">
<title>Replace time values of a track</title>
<para>
Replace all time values with new time values.
</para>
<para><userinput>gpsbabel -i kml -f in.kml -x track,faketime=f20100705200000+2 -o gtrnctr -F out.tcx</userinput></para>
</example>
-<example id="ex_track_faketime2">
+<example xml:id="ex_track_faketime2">
<title>Add time values to a track</title>
<para>
Add a time value to a trackpoint, if the trackpoint contains no time value.
This option is most useful when converting from a format that doesn't
contain GPS fix status to one that requires it.
</para>
-
This option puts all track points from all tracks into a single track
and sorts them by time stamp. Redundant points with identical time stamps will be dropped.
</para>
-<example id="ex_track_merge">
+<example xml:id="ex_track_merge">
<title>Merging tracks with the track filter</title>
<para>
Suppose you want to merge tracks recorded with two different GPS devices
</para>
<para><userinput>gpsbabel -t -i gpx -f john.gpx -i gpx -f doe.gpx -x track,merge,title="COMBINED LOG" -o gpx -F john_doe.gpx</userinput></para>
</example>
-
the tracks earlier. If no sign is provided the integer is assumed to be nonnegative.
Possible units are w for weeks, d for days, h for hours, m for minutes and s for seconds.
</para>
-<example id="ex_track_move">
+<example xml:id="ex_track_move">
<title>Time-shifting a track with the track filter</title>
<para>
The following command line will shift all tracks to be one hour later.
</para>
<para><userinput>gpsbabel -t -i gpx -f in.gpx -x track,move=+1h -o gpx -F out.gpx</userinput></para>
</example>
-<example id="ex_track_move_wnro">
+<example xml:id="ex_track_move_wnro">
<title>Time-shifting a track with the track filter to correct WNRO</title>
<para>
The following command line will shift all tracks to be 1024 weeks later. Because the GPS Week Number
</para>
<para><userinput>gpsbabel -t -i gpx -f in.gpx -x track,move=+1024w -o gpx -F out.gpx</userinput></para>
</example>
-<example id="ex_track_move_combo">
+<example xml:id="ex_track_move_combo">
<title>Time-shifting a track with the track filter with combined units</title>
<para>
The following command lines will each shift all tracks to be 1 hour and 1 minute earlier, i.e. 61 minutes earlier.
<para><userinput>gpsbabel -t -i gpx -f in.gpx -x track,move=-1h-1m -o gpx -F out.gpx</userinput></para>
<para><userinput>gpsbabel -t -i gpx -f in.gpx -x track,move=-61m -o gpx -F out.gpx</userinput></para>
</example>
-
<para>
The comparison is always non-case-sensitive. Wildcards are allowed.
</para>
-
-x track,pack,sdistance=0.3k,split=5m
-o gpx -F out.gpx
</userinput></para>
-
-
That is, if you only care about points logged between 10 AM and 6 PM on a
given date, you need not specify the minutes or seconds.
</para>
-<example id="ex_track_startstop">
+<example xml:id="ex_track_startstop">
<title>Extracting a period of time with the track filter</title>
<para>
To get only the parts of a track that were mapped on 20 July 2005
See the <option>start</option> option for the format of this value and an
example of usage.
</para>
-
GPSBabel to delete the source data after conversion. This is most useful if
you are trying to avoid duplicated data in the output.
</para>
-<example id="transform_del">
+<example xml:id="transform_del">
<title>Convert a GPX track to GPX waypoints, tossing the original track</title>
<para><userinput>gpsbabel -i gpx -f blah.gpx -x transform,wpt=trk,del -o gpx -F converted.gpx</userinput></para>
</example>
<para>
Using this option GPSBabel can be configured to use less or more digits for the generated names. This option is best used in conjunction with the rptname option.
</para>
-<example id="transform_rptdigits">
+<example xml:id="transform_rptdigits">
<title>Convert a GPX track to a GPX route, deleting the original track, using 2 digits for the generated numbers.</title>
<para><userinput>gpsbabel -i gpx -f track.gpx -x transform,wpt=trk,del,rptdigits=2 -o gpx -F route.gpx</userinput></para>
</example>
<para>
Using this option GPSBabel can be configured to replace the "RPT" part of the generated names by the name of the source track during the transformation process. This is especially usefull if several differently named tracks are contained in the source file which should each be transformed into routes.
</para>
-<example id="transform_rptname">
+<example xml:id="transform_rptname">
<title>Convert a GPX track to a GPX route, deleting the original track, naming the generated points like the original track name.</title>
<para><userinput>gpsbabel -i gpx -f track.gpx -x transform,wpt=trk,del,rptname=y -o gpx -F route.gpx</userinput></para>
</example>
<para>
This option selects the destination type of this filter to be routes. Choose this when you want to convert tracks into waypoints routes. A single route will be created in the sequence they appear in the input.
</para>
-<example id="transform_to_rte">
+<example xml:id="transform_to_rte">
<title>Converting a pile of waypoints to a GPX route</title>
<para>
Say you you have a data file that came from CSV file that you want to convert
Choose this when you want to create tracks from a list of waypoints or routes.
A single track will be created in the sequence they appear in the input.
</para>
-<example id="transform_to_trk">
+<example xml:id="transform_to_trk">
<title>Converting a pile of waypoints to a GPX track</title>
<para>
Say you you have a data file that came from CSV file that you want to convert
This option selects the destination type of this filter to be waypoints.
Choose this when you want to convert tracks or routes into waypoints.
</para>
-<example id="transform_to_wpt">
+<example xml:id="transform_to_wpt">
<title>Converting a track to a sequence of waypoints</title>
<para>
Say you you have a KML file that contains a track but you want to convert it to a CSV file that can contain only waypoints, perhaps to import into a spreadsheet. Use the following command:
for a simple polygon, the first and last points must be the
same. Here's a square:
</para>
-<screen format="linespecific">
+<screen>
# A square (not really) polygon
41.0000 -85.0000
41.0000 -86.0000
Polygons may include islands and holes. To include an
island or a hole, just append it to the main polygon.
</para>
-<screen format="linespecific">
+<screen>
# A square polygon with a triangular hole
41.0000 -85.0000
41.0000 -86.0000
if your polygon contains one or both poles or if it spans the
line of 180 degrees east or west longitude.
</para>
-<example id="example_polygon_filter">
+<example xml:id="example_polygon_filter">
<title>Using the polygon filter</title>
<para>
Suppose you have a polygon file that defines the border of your county,
</para>
<para><userinput>gpsbabel -i geo -f 1.loc -x polygon,file=mycounty.txt -o mapsend -F 2.wpt</userinput></para>
</example>
-<example id="example_in_or_close_to">
+<example xml:id="example_in_or_close_to">
<title>Using the polygon and arc filters to find points in or nearly in a
polygon</title>
<para>
line will be kept by both the polygon and the arc filter.)
</para>
</example>
-
For routes and tracks consecutive points are removed until the distance between the bracketing points is greater than the specified distance.
</para>
-<example id="posn_to_suppress_close_points">
+<example xml:id="posn_to_suppress_close_points">
<title>Using the position filter to suppress close points</title>
<para>
The following command removes multiple points that are within
</para>
<para><userinput>gpsbabel -i geo -f 1.loc -f 2.loc -x position,distance=1f -o mapsend -F 3.wpt</userinput></para>
</example>
-
By default, all remaining points are sorted so that points closer to the
center appear earlier in the output file.
</para>
-<example id="radius_to_find_points_close">
+<example xml:id="radius_to_find_points_close">
<title>Using the radius filter to find points close to a given point</title>
<para>This example command line would include only points within 1 1/2 miles
of N30.000 W 90.000</para>
<para><userinput>gpsbabel -i geo -f 1.loc -x radius,distance=1.5M,lat=30.0,lon=-90.0 -o mapsend -F 2.wpt</userinput></para>
</example>
-
The resampling filter can be used to change the sample rate of a track. It is intended to be used with track points that have been sampled at a constant rate. It can be used to change the sample rate by a rational factor. It can also be used to smooth a track with or without changing the sample rate. The filter works across the antimeridian.
</para>
-<example id="example_resample_filter_interpolate">
+<example xml:id="example_resample_filter_interpolate">
<title>Interpolation with the resampling filter</title>
<para>
This examples doubles the sample rate. The data is filtered after interpolation regardless of the order of the options.
<para><userinput>gpsbabel -t -i unicsv -f data.csv -x resample,interpolate=2,average=2 -o unicsv,utc=0 -F fast.csv</userinput></para>
</example>
-<example id="example_resample_filter_decimate">
+<example xml:id="example_resample_filter_decimate">
<title>Decimation with the resampling filter</title>
<para>
This examples reduces the sample rate by a factor of 4. The data is filtered before decimation regardless of the order of the options.
<para><userinput>gpsbabel -t -i unicsv -f data.csv -x resample,average=4,decimate=2 -o unicsv,utc=0 -F slow.csv</userinput></para>
</example>
-<example id="example_resample_filter_average">
+<example xml:id="example_resample_filter_average">
<title>Averaging with the resampling filter</title>
<para>
This examples averages the adjacent points. A running average filter of length two samples is applied in the forward and reverse directions.
</para>
<para><userinput>gpsbabel -t -i unicsv -f data.csv -x resample,average=2 -o unicsv,utc=0 -F smooth.csv</userinput></para>
</example>
-
will be in for unpleasant ride. application cares about
timestamps
</para>
-
in a route:
</para>
<para><userinput>gpsbabel -r -i saroute -f RoadTrip.anr -x simplify,count=50 -o magellan -F grocery.rte</userinput></para>
-
<para>
This filter sorts waypoints, routes and/or tracks by the selected field(s).
</para>
-
-x stack,pop,append
-o magellan -F fwaind.wpt
</userinput></para>
-
<para>
This filter performs various operations on track data.
</para>
-
-
-<para>Serial download protocol for the <ulink url="http://www.brauniger.com">Brauniger</ulink> IQ series of
+<para>Serial download protocol for the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.brauniger.com">Brauniger</link> IQ series of
barograph recording flight instruments. This format creates a
track of altitude vs time which can be merged with a GPS track
of the same flight to create a three dimensional IGC file. </para>
-
<para>Support for
-<ulink url="http://www.cambridge-aero.com/products.htm">Cambridge</ulink>
-and <ulink url="http://www.winpilot.com"> Winpilot</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.cambridge-aero.com/products.htm">Cambridge</link>
+and <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.winpilot.com"> Winpilot</link>
flight analysis and planning software for glider pilots. </para>
-
<para> There are a billion variants of Comma Separated Value
-data. This is the one specifically that makes <ulink url="http://www.delorme.com">DeLorme</ulink> <productname>S&A Deluxe 9</productname> happy. It's
+data. This is the one specifically that makes <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.delorme.com">DeLorme</link> <trademark>S&A Deluxe 9</trademark> happy. It's
also a very simple program and useful for many other programs like
spreadsheets, but contains only a very minimal information. For general
purpose use, you'll probably be more happy with our
<link linkend="fmt_unicsv">universal csv (unicsv)</link> format.</para>
<para> CSV is also the correct format for
- <productname>Lowrance MapCreate</productname>,
+ <trademark>Lowrance MapCreate</trademark>,
their commercial mapping program, or GDM6 (their free waypoint
-manager) for iFinder which is available at <ulink url="http://www.lowrance.com/Software/GDM6/Default.asp">lowrance.com</ulink>
+manager) for iFinder which is available at <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.lowrance.com/Software/GDM6/Default.asp">lowrance.com</link>
</para>
<para>
On write, this format writes simple "latitude, longitude" pairs, but
For something-separated data that has headers identifying the various
fields, see our <link linkend="fmt_unicsv">universal csv</link> format.
</para>
-<example id="csv_example"><title>Example 'csv' file</title>
+<example xml:id="csv_example"><title>Example 'csv' file</title>
<programlisting>
35.97203, -87.13470, Mountain Bike Heaven by susy1313
36.09068, -86.67955, The Troll by a182pilot & Family
<para>
To understand the contents of this file, look at the
<filename>style/custom.style</filename> file in the GPSBabel source
-distribution as well as <xref linkend="Styles" />.
+distribution as well as <xref linkend="Styles"/>.
</para>
<para>
- Serial download protocol for the <productname>GlobalSat DG-100</productname>,
- <productname> GlobalSat BT-335</productname>,
- and <productname>GlboalSat BT-338X</productname>GPS data loggers.
+ Serial download protocol for the <trademark>GlobalSat DG-100</trademark>,
+ <trademark> GlobalSat BT-335</trademark>,
+ and <trademark>GlboalSat BT-338X</trademark>GPS data loggers.
</para>
<para>
While the DG-100 has a button to record waypoints, they seem to be indistinguishable
regardless of whether they were recorded automatically or manually.
</para>
<para>
- <ulink url="http://www.globalsat.com.tw/eng/product_detail_00000090.htm">GlobalSat DG-100</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.globalsat.com.tw/eng/product_detail_00000090.htm">GlobalSat DG-100</link>
</para>
-<example id="dg-100-on-linux">
+<example xml:id="dg-100-on-linux">
<title>Command showing DG-100 download and erase on Linux</title>
<para><userinput>gpsbabel -t -i dg-100,erase -o gpx /dev/ttyUSB0 outputfile.gpx</userinput></para>
</example>
-<example id="dg-100-on-linux-erase_only">
+<example xml:id="dg-100-on-linux-erase_only">
<title>Command showing DG-100 erase_only option on Linux</title>
<para><userinput>gpsbabel -t -i dg-100,erase_only /dev/ttyUSB0</userinput></para>
</example>
-<para>Serial download protocol for the <productname>GlobalSat DG-200</productname>GPS data loggers.</para>
+<para>Serial download protocol for the <trademark>GlobalSat DG-200</trademark>GPS data loggers.</para>
<para>
-<ulink url="http://www.usglobalsat.com/p-677-dg-200-gps-data-logger.aspx">GlobalSat DG-200</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.usglobalsat.com/p-677-dg-200-gps-data-logger.aspx">GlobalSat DG-200</link>
</para>
-<example id="dg-200-on-linux">
+<example xml:id="dg-200-on-linux">
<title>Command showing DG-200 download and erase on Linux</title>
<para><userinput>gpsbabel -t -i dg-200,erase -o gpx /dev/ttyUSB0 outputfile.gpx</userinput></para>
</example>
-<example id="dg-200-on-linux-erase_only">
+<example xml:id="dg-200-on-linux-erase_only">
<title>Command showing DG-200 erase_only option on Linux</title>
<para><userinput>gpsbabel -t -i dg-200,erase_only /dev/ttyUSB0</userinput></para>
</example>
but unfortunately their driver has a defect which makes it unstable with
GPSBabel.
</para>
-
<para>
This format reads and writes GPS information embedded in
- <ulink url="http://www.exif.org">EXIF</ulink>,
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.exif.org">EXIF</link>,
the Exchangeable Image Format, data. EXIF is a standardized method
of encoding data in pictures such as JPEG, TIFF, and WAV and is frequently
used by mobile phones with cameras and cameras with built-in GPS.
EXIF is frequently used for Geolocating photographs so their images can be
correlated with time and location.
</para>
-
<para>
Supported Garmin GPS receivers with USB include
- <simplelist columns="4">
+ <simplelist columns="4" type="vert">
<member>Astro</member>
<member>Edge 205</member>
<member>Edge 305</member>
<member>Forerunner 305</member>
<member>Foretrex 201</member>
<member>Foretrex 301</member>
-<member>GPS 18<footnote id="posnonly"><para>This model does not support transfer of waypoints, tracks, or routes, but may be used with the <link linkend="tracking">realtime tracking</link> feature.</para></footnote></member>
+<member>GPS 18<footnote xml:id="posnonly"><para>This model does not support transfer of waypoints, tracks, or routes, but may be used with the <link linkend="tracking">realtime tracking</link> feature.</para></footnote></member>
<member>GPSMAP 195</member>
<member>GPSMAP 276C</member>
<member>GPSMAP 295</member>
</simplelist>
</para>
<para>the following Bluetooth Garmin products:
-<simplelist columns="4">
+<simplelist columns="4" type="vert">
<member>GPS 10<footnoteref linkend="posnonly"/></member>
</simplelist>
</para>
<para>and most serial Garmin GPS receivers including:
-<simplelist columns="4">
+<simplelist columns="4" type="vert">
<member>eMap</member>
<member>eTrex Camo</member>
<member>eTrex Legend</member>
support Garmin communication protocol and don't work with the
<option>garmin</option> option. To use these receivers, read or write
GPX files from the mass storage device as mounted on your computer.
-<simplelist columns="4">
+<simplelist columns="4" type="vert">
<member>eTrex 10<footnoteref linkend="gpx"/></member>
<member>eTrex 20<footnoteref linkend="gpx"/></member>
<member>eTrex 30<footnoteref linkend="gpx"/></member>
<member>Nuvi 260W<footnoteref linkend="gpx"/></member>
<member>Nuvi 270<footnoteref linkend="gpx"/></member>
<member>Nuvi 275T<footnoteref linkend="gpx"/></member>
-<member>Nuvi 300<footnote id="gpx"><para>This unit uses GPX format, not Garmin protocol. Therefore one should communicate with it by reading and writing GPX files instead of using this format. Members of this class of products do not support realtime positioning protocol.</para></footnote></member>
+<member>Nuvi 300<footnote xml:id="gpx"><para>This unit uses GPX format, not Garmin protocol. Therefore one should communicate with it by reading and writing GPX files instead of using this format. Members of this class of products do not support realtime positioning protocol.</para></footnote></member>
<member>Nuvi 310<footnoteref linkend="gpx"/></member>
<member>Nuvi 350<footnoteref linkend="gpx"/></member>
<member>Nuvi 370<footnoteref linkend="gpx"/></member>
filename. For this to work on Windows, you must install
the Garmin driver. For Linux, this will fail if you have the garmin_gps
kernel module loaded.
- See the <ulink url="/osnotes.html">Operating System Notes</ulink> for details.
+ See the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/osnotes.html">Operating System Notes</link> for details.
</para>
<para>
by GPSBabel.</para>
<para>
Marine plotters:
-<simplelist columns="4">
+<simplelist columns="4" type="vert">
<member>GPSMap 420</member>
<member>GPSMap 430</member>
<member>GPSMap 440</member>
</para>
<para>The PDA products
-<simplelist>
+<simplelist type="vert">
<member>iQue 3000</member>
<member>iQue 3200</member>
<member>iQue 3600</member>
is most useful for exporting data from units that support heart rate
data such as
- <productname>Garmin Forerunner 301</productname>,
- <productname>Garmin Forerunner 305</productname>, and
- <productname>Garmin Edge 305</productname>, and
+ <trademark>Garmin Forerunner 301</trademark>,
+ <trademark>Garmin Forerunner 305</trademark>, and
+ <trademark>Garmin Edge 305</trademark>, and
to other programs
for analysis. It's a simple comma delimited format that includes the
timestamp, 3D position information and heart rate so you can pull it
into a spreadsheet or graphing program.
-</para>
\ No newline at end of file
+</para>
<para>
GPSBabel supports reading and writing of tracks in the .fit
format used by products based on the Garmin
-<ulink url="https://www.thisisant.com/">ANT+ protocol</ulink>.
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.thisisant.com/">ANT+ protocol</link>.
</para>
<para>
-As in case of <link linkend="fmt_gtrnctr">Garmin Training Center</link>,
+As in case of <link linkend="fmt_gtrnctr">Garmin Training Center</link>,
FIT files contain courses with laps etc. which don't exactly match
GPSBabel's waypoints, tracks, and routes. An attempt is made to extract and
transform data than can be handled by GPSBabel like heart rate etc. and
generic course points are written unless the waypoint name contains one of
the following words in which case course points of type left/right are
emitted:
-<simplelist>
+<simplelist type="vert">
<member>left, links, gauche, izquierda, sinistra</member>
<member>right, rechts, droit, derecha, destro</member>
</simplelist>
<para>
The format garmin_gpi supports the binary POI (.gpi) files that are usable
on newer Garmin GPS receivers. See <link linkend="fmt_garmin_poi">garmin_poi</link> for additional information about Garmin's own Poiloader program.
- <ulink url="http://www.garmin.com/support/agree.jsp?id=927">Garmin POI-Loader</ulink> is the standard application that creates GPI files
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.garmin.com/support/agree.jsp?id=927">Garmin POI-Loader</link> is the standard application that creates GPI files
with all possible features.
</para>
<para>
directly.
</para>
</important>
-<example id="all_garmin_gpi_options">
+<example xml:id="all_garmin_gpi_options">
<title>Command showing garmin_gpi output example</title>
<para>
<userinput>
<para>
- The <ulink url="http://www.garmin.com/support/agree.jsp?id=927">Garmin POI loader</ulink>
+ The <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.garmin.com/support/agree.jsp?id=927">Garmin POI loader</link>
loads custom points of interest into certain models of
Garmin GPS receivers. (As of this writing, only the models introduced
in 2005 and later are supported. See Garmin's site for more info.)
<para>
This is a textual format that contains nearly all of the information
-contained in the <productname>MapSource</productname> main format, <link linkend="fmt_gdb">GDB</link>.
+contained in the <trademark>MapSource</trademark> main format, <link linkend="fmt_gdb">GDB</link>.
This format also contains some computed values such as distances between
routepoints and trackpoints, speed, and course (heading).
</para>
<para>
The main goal of garmin_txt is to make aviation data more available. Because
-<productname>MapSource</productname> supports only the export, GPSBabel gives you the possibility to
-bring aviation data into <productname>MapSource</productname>.
+<trademark>MapSource</trademark> supports only the export, GPSBabel gives you the possibility to
+bring aviation data into <trademark>MapSource</trademark>.
</para>
<para>
-During the export with <productname>MapSource</productname>, some fields are written using local settings
-of <productname>MapSource</productname> and Windows. These include grid format, gps datum, distance and
+During the export with <trademark>MapSource</trademark>, some fields are written using local settings
+of <trademark>MapSource</trademark> and Windows. These include grid format, gps datum, distance and
temperature units, and the representation of date and time fields. GPSBabel
tries to read all items automatically. Problems with date and time format can
be solved with the 'date' and 'time' options.
</para>
-<example id="all_garmin_txt_options">
+<example xml:id="all_garmin_txt_options">
<title>Command showing garmin_txt output with all options</title>
<para><userinput>gpsbabel -i garmin_txt,date="MM/DD/YYYY",time="hh:mm:ss xx" -f in.txt -o garmin_txt,date="DD.MM.YYYY",datum="WGS 72",dist=m,prec=6,temp=c,time="HH:mm:ss",utc=+2 -F out.txt</userinput></para>
</example>
-
<para>
Support for the "Garmin GPS Database" format used by
- default in <productname>MapSource</productname> versions since release 6.0 of
+ default in <trademark>MapSource</trademark> versions since release 6.0 of
that product. By default GPSBabel creates
gdb files of version 2. Version 2 is used in Mapsource 6.3 and 6.5. This format
- is also used by <productname>Garmin BaseCamp</productname> for Mac and Windows.
+ is also used by <trademark>Garmin BaseCamp</trademark> for Mac and Windows.
</para>
<para>
Garmin GPS database is an undocumented file format. The
basic info for this module came from the existing MapSource
conversion code.
</para>
-
<para>
-This module supports a subset of the <ulink url="http://geojson.org/">GeoJSON</ulink> format.
+This module supports a subset of the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://geojson.org/">GeoJSON</link> format.
</para>
<para>
GeoJSON is a poor fit for GPSBabel's internal data structures as GPSBabel
an awkward implementation.
</para>
<para>
-Initial development was free-handed by looking at the <ulink url="https://tools.ietf.org/html/rfc7946 ">GeoJSON RFC</ulink>. Corner cases were handled by
-using <ulink url="http://www.gdal.org/ogr2ogr.html">GDAL's ogr2ogr</ulink>
+Initial development was free-handed by looking at the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://tools.ietf.org/html/rfc7946 ">GeoJSON RFC</link>. Corner cases were handled by
+using <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gdal.org/ogr2ogr.html">GDAL's ogr2ogr</link>
to convert GPX to JSON and compare the output. The results were then
- <ulink url="http://geojsonlint.com/">JSON validated</ulink> and viewed on
- <ulink url="http://geojson.io/">JSON web viewer</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://geojsonlint.com/">JSON validated</link> and viewed on
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://geojson.io/">JSON web viewer</link>.
</para>
<para>
- Serial download protocol for the <productname>GlobalSat Sport gh625XT</productname> training watch.
+ Serial download protocol for the <trademark>GlobalSat Sport gh625XT</trademark> training watch.
</para>
<para>
The GlobalSat Sport GPS training device present themselves as USBserial devices.
<ulink url="http://www.globalsat.com.tw/products-page_new.php?menu=2\&gs_en_product_id=5\&gs_en_product_cnt_id=32">GlobalSat sport gh625XT</ulink>
</para -->
<para><userinput>gpsbabel -i globalsat -f /dev/ttyUSB0 -o gpx,garminextensions -F outfile.gpx</userinput></para>
-<example id="globalsat-showlist">
+<example xml:id="globalsat-showlist">
<title>Command showing list of tracks on device</title>
<para><userinput>gpsbabel -i globalsat,showlist=1 -f /dev/ttyUSB0</userinput></para>
</example>
-<example id="globalsat-track">
+<example xml:id="globalsat-track">
<title>Command track can be used to fetch a single track, default is all tracks</title>
<para><userinput>gpsbabel -i globalsat,track=number -f /dev/ttyUSB0 -o gpx,garminextensions -F outfile.gpx</userinput></para>
</example>
that data as a serial port to software like GPSBabel. Such software
comes with the unit for Windows or can be downloaded.
</para>
-
-
-
<para>GpsDrive way.txt file format. A space separated format
-file. Tested against GpsDrive v 1.30 found at <ulink url="http://www.gpsdrive.de">gpsdrive.de</ulink>.
+file. Tested against GpsDrive v 1.30 found at <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gpsdrive.de">gpsdrive.de</link>.
Contributed by Alan Curry.</para>
-
<para>Format used by GpsDrive to save tracks. Like GPSDRIVE a
space separated format file. See above for a link to GpsDrive.
Contributed by Tobias Minich.</para>
-
<para>
This is a write-only format used to feed waypoints, tracks, and routes
- into <ulink url="http://franson.com/">Franson Technolgies'</ulink>
- <ulink url="http://franson.com/gpsgate/">GpsGate simulator</ulink>.
+ into <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://franson.com/">Franson Technolgies'</link>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://franson.com/gpsgate/">GpsGate simulator</link>.
</para>
<para>
To use these files in GpsGate, select 'Simulator' and then
- "File->Open".
+ "File->Open".
</para>
<para>This is one of the most capable and expressive formats of all the file
-formats supported by GPSBabel. It is described at <ulink url="http://www.topografix.com/gpx.asp">topografix.com</ulink> and is
+formats supported by GPSBabel. It is described at <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.topografix.com/gpx.asp">topografix.com</link> and is
supported by EasyGPS, ExpertGPS, and many other programs described at
-<ulink url="http://www.topografix.com/gpx_resources.asp">topografix.com</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.topografix.com/gpx_resources.asp">topografix.com</link>
</para>
<para>
GPSBabel's reader of this module attempts to preserve tags it doesn't
really understand. It also tries to glean interesting data from:
<itemizedlist>
- <listitem><para><ulink url="http://www.geocaching.com">pocket queries from Geocaching.com,</ulink></para></listitem>
+ <listitem><para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.geocaching.com">pocket queries from Geocaching.com,</link></para></listitem>
<listitem><para>Garmin's "gpxx" GPX extensions,</para></listitem>
<listitem><para>Humminbird's "h" GPX extensions.</para></listitem>
</itemizedlist>
</para>
-
<para>Input and output support for waypoints, tracks and routes in
- the <ulink url="http://www.gpstm.com">GPS TrackMaker </ulink>
+ the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gpstm.com">GPS TrackMaker </link>
binary format.</para>
<para>Code implemented by Gustavo Niemeyer.</para>
-
<para>
GPSBabel supports reading and writing of tracks in the .tcx
-format used by <productname>Garmin Training Center</productname> (GTC). GTC is the successor
-to Garmin's <productname>Logbook</productname> program for their workout units. It is a
+format used by <trademark>Garmin Training Center</trademark> (GTC). GTC is the successor
+to Garmin's <trademark>Logbook</trademark> program for their workout units. It is a
free upgrade.
</para>
<para>
<para> The Holux gm-100 (e-fox) gps receiver uses standard
compact flash cards. File formats were provided by Holux-Taiwan
-<ulink url="http://www.holux.com.tw">holux.com</ulink> to the author.
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.holux.com.tw">holux.com</link> to the author.
The code was tested against version 2.27E1; other versions and
receivers may work but have not been explicitly tested. Anyone with
information on other Holux receivers is encouraged to contact
jochen@bauerbahn.net.
</para>
<para> When copying the .wpo file to a flash card, the file must
-be named <filename moreinfo="none">tempwprt.wpo</filename> as the
+be named <filename>tempwprt.wpo</filename> as the
receiver will ignore all other files.
</para>
<para> Comparing the waypoints of a .wpo files against other
</para>
<para> This format was contributed by Jochen Becker.
</para>
-
<para>
<userinput>gpsbabel -i gpx -f 12345.gpx -o html,stylesheet=green.css,encrypt -F 12345.html</userinput>
</para>
-
<para>
This format supports:
- <simplelist>
- <member><ulink url="http://www.humminbird.com">Humminbird</ulink>
+ <simplelist type="vert">
+ <member><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.humminbird.com">Humminbird</link>
waypoints and routes (<filename>.hwr</filename> files)</member>
- <member><ulink url="http://www.humminbird.com">Humminbird</ulink>
+ <member><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.humminbird.com">Humminbird</link>
tracks (<filename>.ht</filename> files)</member>
- <member><ulink url="http://www.humminbird.com">Humminbird</ulink>
+ <member><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.humminbird.com">Humminbird</link>
<filename>.dat</filename> files. (These accompany the
<filename>.png</filename> files you get when you take snapshots.
There are also <filename>.dat</filename> files generated when making
</para>
<para>
Supported models:
- <simplelist>
+ <simplelist type="vert">
<member>797c2i SI</member>
</simplelist>
(They should all work, but this is the only one tested so far.)
</para>
<para>
Known limits:
- <simplelist>
+ <simplelist type="vert">
<member>max 12 characters for waypoint names.</member>
<member>max 20 characters for route and track names.</member>
<member>max 50 points per route. Use <link linkend="filter_simplify">simplify</link> filter (count=50 or less) if you have routes with more points!</member>
<member>max 21835 points per track.</member>
</simplelist>
</para>
-
<para>
- This is the format used by the software that comes with the <ulink url="http://www.semsons.com/i747bldalogp.html">Transystem i-Blue747 GPS</ulink>.
+ This is the format used by the software that comes with the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.semsons.com/i747bldalogp.html">Transystem i-Blue747 GPS</link>.
</para>
<para>
<para>
This is the format used by the software that comes with the
- <ulink url="http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=81290">
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=81290">
Transystem i-Blue757 Pro GPS
- </ulink>.
+ </link>.
It is very similar to the <link linkend="fmt_iblue747">iBlue747</link>
format, apart from the date format being reversed.
</para>
<para>
The csv log file can be extracted from the GPS receiver using
- the BT747 software available from <ulink url="http://www.bt747.org"></ulink>
+ the BT747 software available from <uri xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.bt747.org">http://www.bt747.org</uri>
</para>
<para>
Field definitions:
</para>
-<section id="ib_index"> <title>INDEX</title> <para>
+<section xml:id="ib_index"> <title>INDEX</title> <para>
A sequential integer which corresponds for each logged point in the file.
</para><para>example 3308
</para></section>
-<section id="ib_rcr"><title>RCR</title><para>
+<section xml:id="ib_rcr"><title>RCR</title><para>
?
</para><para>example 1: T
</para><para>example 2: TD
</para></section>
-<section id="ib_title"><title>DATE</title><para>
+<section xml:id="ib_title"><title>DATE</title><para>
Date that the point was recorded, in the format YYYY/MM/DD
</para><para>example: 2011/05/14
</para></section>
-<section id="ib_time"><title>TIME</title><para>
+<section xml:id="ib_time"><title>TIME</title><para>
Time that the point was recorded, 24-hr format H:MM:SS. Unsure how fractions of a second are handled.
</para><para>example: 4:15:11
</para></section>
-<section id="ib_valid"><title>VALID</title><para>
+<section xml:id="ib_valid"><title>VALID</title><para>
?
</para><para>example 1: DGPS
</para><para>example 2: SPS
</para></section>
-<section id="ib_lat"><title>LATITUDE</title><para>
+<section xml:id="ib_lat"><title>LATITUDE</title><para>
Degrees above the equator (use negative for south of the equator)
</para><para>example: -33.803645
</para></section>
-<section id="ib_hemi"><title>N/S</title><para>
+<section xml:id="ib_hemi"><title>N/S</title><para>
North (N)or South (S) of the equator
</para><para>example: S
</para></section>
-<section id="ib_lon"><title>LONGITUDE</title><para>
+<section xml:id="ib_lon"><title>LONGITUDE</title><para>
Degrees east of the Prime Meridian (use negative for east of the Prime Meridian/Greenwich)
</para><para>example: 150.880499
</para></section>
-<section id="ib_ewhemi"><title>E/W</title><para>
+<section xml:id="ib_ewhemi"><title>E/W</title><para>
East (E) or West (W) of Greenwich
</para><para>example: E
</para></section>
-<section id="ib_height"><title>HEIGHT</title><para>
+<section xml:id="ib_height"><title>HEIGHT</title><para>
Height above sea level in meters
</para><para>example: 99.859 m
</para></section>
-<section id="ib_speed"><title>SPEED</title><para>
+<section xml:id="ib_speed"><title>SPEED</title><para>
Speed in km/h
</para><para>example: 0.302 km/h
</para></section>
-<section id="ib_dist"><title>DISTANCE</title><para>
+<section xml:id="ib_dist"><title>DISTANCE</title><para>
Distance covered since last point in meters
</para><para>example: 0.30 m
</para></section>
-<section id="ib_example"><title>Example File</title>
+<section xml:id="ib_example"><title>Example File</title>
<para>
Example 3.X. Example 'iBlue 757' file
<literallayout>
task declarations in other formats.
</para>
-<section id="fmt_igc_notes">
+<section xml:id="fmt_igc_notes">
<title>IGC Data Format Notes</title>
<para>
Refer to Appendix 1 of
-<ulink url="http://www.fai.org:81/gliding/gnss/tech_spec_gnss.asp">http://www.fai.org:81/gliding/gnss/tech_spec_gnss.asp</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fai.org:81/gliding/gnss/tech_spec_gnss.asp">http://www.fai.org:81/gliding/gnss/tech_spec_gnss.asp</link>
for the specification of the IGC data format.
</para>
<para>
A sample list of software applications that use data in IGC format can be
found at
-<ulink url="http://www.fai.org:81/gliding/gnss/gnss_analysis_software.pdf">http://www.fai.org:81/gliding/gnss/gnss_analysis_software.pdf</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fai.org:81/gliding/gnss/gnss_analysis_software.pdf">http://www.fai.org:81/gliding/gnss/gnss_analysis_software.pdf</link>
</para>
<para>
GPSBabel can be used to translate data in IGC format to and from various other
</para>
</section>
-<section id="fmt_igc_convto">
+<section xml:id="fmt_igc_convto">
<title>Converting to IGC format</title>
<para>
IGC files generated by GPSBabel will NOT pass security validation tests since
<para><userinput>gpsbabel -i gpx -f myall.gpx -o igc -F myflight.igc</userinput></para>
</section>
-<section id="fmt_igc_convfrom">
+<section xml:id="fmt_igc_convfrom">
<title>Converting from IGC format</title>
<para>
Data in an IGC file can be converted into other formats. For example to
</para>
</section>
-<section id="fmt_igc_merge">
+<section xml:id="fmt_igc_merge">
<title>Merging into IGC format</title>
<para>
A route stored in another format can be merged with an existing IGC file that
(Documentation contributed by Chris Jones, Aug 2004)
</para>
</section>
-
<para>
KML, the Keyhole Markup Language format, was used by Keyhole and is used by
-<ulink url="http://earth.google.com">Google Earth</ulink>.
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://earth.google.com">Google Earth</link>.
</para>
<para>There are concepts in KML that GPSBabel can't support very well on
read because they don't map well into other programs. For example, KML has
you can widen the time slider to show the range of data of interest.
</para>
<para>
- See <ulink url="http://earth.google.com/userguide/v4/ug_gps.html#timeline">Google Earth's documentation on timelines</ulink> for more info.
+ See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://earth.google.com/userguide/v4/ug_gps.html#timeline">Google Earth's documentation on timelines</link> for more info.
</para>
<para>
-Many <ulink url="http://www.lowrance.com">Lowrance</ulink> systems have the ability
+Many <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.lowrance.com">Lowrance</link> systems have the ability
to output their data to an external storage device.
Early models (such as iFinder Hunt) supported an MMC card.
Newer models (HDS, Hook, Hook2, etc) support either an SD card or a microSD card.
When exported the data is saved to the card as a
file. Some models have the ability to export data in GPX format but the
-format native to <ulink url="http://www.lowrance.com">Lowrance</ulink> units is called USR.
+format native to <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.lowrance.com">Lowrance</link> units is called USR.
Typically the file created by the export operation will have a ".usr" suffix if is a
native format or a ".gpx" suffix if is is a GPX format file.
</para>
<para>
-<ulink url="http://www.lowrance.com">Lowrance</ulink> units currently use five different versions of USR files.
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.lowrance.com">Lowrance</link> units currently use five different versions of USR files.
These different USR versions store the four internal elements (waypoints, routes, trails, and event marker icons)
using different formats. Some units do not support all four elements (typically event marker icons are not supported).
Some USR formats also have multiple element versions (i.e. USR version 4 has two different formats for storing
<para>
The following provides a high-level description of the multiple USR formats that are supported by the Lowrance product set
-(this is based on information contained in the <ulink url="ftp://software.lowrance.com/Documents/Hook2-Series_OM_EN_988-11760-001_w.pdf">2018 Lowrance Hook2 Series Operator Manual</ulink>) and other sources.
+(this is based on information contained in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ftp://software.lowrance.com/Documents/Hook2-Series_OM_EN_988-11760-001_w.pdf">2018 Lowrance Hook2 Series Operator Manual</link>) and other sources.
</para>
<para>
<emphasis>User Data File version 2 </emphasis>-
<listitem><para><link linkend="usr4_trail">Lowrance USR 4, 5 and 6 Trail Object Format</link></para></listitem>
</itemizedlist>
-<table id="usr_format">
+<table xml:id="usr_format">
<title>Lowrance USR Data File Contents</title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2.5*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
</tgroup>
</table>
-<table id="usr_waypoint">
+<table xml:id="usr_waypoint">
<title>Lowrance USR 2 and 3 Waypoint Object Format</title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
</tgroup>
</table>
-<table id="usr4_waypoint">
+<table xml:id="usr4_waypoint">
<title>Lowrance USR 4, 5 and 6 Waypoint Object Format</title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
</tgroup>
</table>
-<table id="usr_route">
+<table xml:id="usr_route">
<title>Lowrance USR 2 and 3 Route Object Format</title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
</tgroup>
</table>
-<table id="usr4_route">
+<table xml:id="usr4_route">
<title>Lowrance USR 4, 5 and 6 Route Object Format</title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
</tgroup>
</table>
-<table id="usr4_leg">
+<table xml:id="usr4_leg">
<title>Lowrance USR 4, 5 and 6 Route Leg Object Format</title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
</tgroup>
</table>
-<table id="usr_eventmarker">
+<table xml:id="usr_eventmarker">
<title>Lowrance USR 2 and 3 Event Marker ICON Object Format</title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
</tgroup>
</table>
-<table id="usr_trail">
+<table xml:id="usr_trail">
<title>Lowrance USR 2 and 3 Trail Object Format</title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
</table>
-<table id="usr_trail_pts">
+<table xml:id="usr_trail_pts">
<title>Lowrance USR 2 and 3 Trail Point Object Format</title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
</tgroup>
</table>
-<table id="usr4_trail">
+<table xml:id="usr4_trail">
<title>Lowrance USR 4, 5 and 6 Trail Object Format</title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
</tgroup>
</table>
-<table id="usr4_trail_pts">
+<table xml:id="usr4_trail_pts">
<title>Lowrance USR 4, 5 and 6 Trail Point Object Format </title>
<tgroup cols="8">
<colspec colname="u2" align="center" colwidth="22pt"/>
<colspec colname="u4" align="center" colwidth="22pt"/>
<colspec colname="u5" align="center" colwidth="22pt"/>
<colspec colname="u6" align="center" colwidth="22pt"/>
- <colspec colname="f" colwidth="*" />
- <colspec colname="s" align="center" colwidth="34pt"/>
+ <colspec colname="f" colwidth="*"/>
+ <colspec colname="s" align="center" colwidth="34pt"/>
<colspec colname="d" colwidth="2*"/>
<thead>
<row>
<entry namest="u2" nameend="u6" align="center">Present In</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>USR 2</entry>
<para>
Some Lowrance units have the ability to export
-<ulink url="https://www.topografix.com/gpx.asp">GPX</ulink> (GPS Exchange Format) formatted data.
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.topografix.com/gpx.asp">GPX</link> (GPS Exchange Format) formatted data.
Lowrance only provides minimal
support for GPX export data on their HOOK2 series (only data available to the author). Refer to
-the official <ulink url="https://www.topografix.com/gpx/1/1/">GPX 1.1 Schema Documentation</ulink> for the complete schema.
+the official <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.topografix.com/gpx/1/1/">GPX 1.1 Schema Documentation</link> for the complete schema.
</para>
-<example id="lowrance-export">
+<example xml:id="lowrance-export">
<title>Lowrance GPX Export Data</title>
<programlisting>
- <metadata>
- <time>xsd:dateTime</time>
- <depthunits>meters</depthunits>
- <tempunits>C</tempunits>
- <sogunits>m/s</sogunits>
- </metadata>
- <wpt lon="longitudeType" lat="latitudeType">
- <time>xsd:dateTime</time>
- <name>xsd:string</name>
- <sym>xsd:string</sym>
- </rte>
- <name>xsd:string</name>
- <rtept lon="longitudeType" lat="latitudeType">
- <time>xsd:dateTime</time>
- <name>xsd:string</name>
- <sym>xsd:string</sym>
- </rtept>
- </rte>
- <trk>
- <name>xsd:string</name>
- <trkseg>
- <trkpt lon="longitudeType" lat="latitudeType">
- <time>xsd:dateTime</time>
- </trkpt>
- </trkseg>
- </trk>
+ <metadata>
+ <time>xsd:dateTime</time>
+ <depthunits>meters</depthunits>
+ <tempunits>C</tempunits>
+ <sogunits>m/s</sogunits>
+ </metadata>
+ <wpt lon="longitudeType" lat="latitudeType">
+ <time>xsd:dateTime</time>
+ <name>xsd:string</name>
+ <sym>xsd:string</sym>
+ </rte>
+ <name>xsd:string</name>
+ <rtept lon="longitudeType" lat="latitudeType">
+ <time>xsd:dateTime</time>
+ <name>xsd:string</name>
+ <sym>xsd:string</sym>
+ </rtept>
+ </rte>
+ <trk>
+ <name>xsd:string</name>
+ <trkseg>
+ <trkpt lon="longitudeType" lat="latitudeType">
+ <time>xsd:dateTime</time>
+ </trkpt>
+ </trkseg>
+ </trk>
</programlisting>
</example>
configuration, it can store ~100000 trackpoints with very limited
data; to configure extended logging you can use the BT747 open
source software
- <ulink url="http://bt747.wiki.sourceforge.net">bt747</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://bt747.wiki.sourceforge.net">bt747</link>
Waypoint storage is possible only if "recording reason" (RCR) is enabled in the settings.
</para>
<para>
configuration, it can store ~100000 trackpoints with very limited
data; to configure extended logging you can use the BT747 open
source software
- <ulink url="http://bt747.wiki.sourceforge.net">bt747</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://bt747.wiki.sourceforge.net">bt747</link>
Waypoint storage is possible only if "recording reason" (RCR) is enabled in the settings.
</para>
<para>
internally used the Silicon Labs CP210X chipset to transform the internal and
inaccessible serial port to the USB port that was familiar on the side. The
drivers for that port can be found with
- <ulink url="https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx">SiLabs CP210x serial port drivers</ulink>. The red and white one existed
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx">SiLabs CP210x serial port drivers</link>. The red and white one existed
very briefly before Holux went out of business. GPSBabel does not work with
the red and white one.
-<para>GPSBabel supports the following <ulink url="http://www.magellangps.com">Magellan</ulink> receivers:
-<simplelist columns="2">
+<para>GPSBabel supports the following <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.magellangps.com">Magellan</link> receivers:
+<simplelist columns="2" type="vert">
<member>310</member>
<member>315</member>
<member>Map330</member>
-<para>GPSBabel supports the following <ulink url="http://www.magellangps.com">Magellan</ulink> receivers:
-<simplelist columns="2">
+<para>GPSBabel supports the following <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.magellangps.com">Magellan</link> receivers:
+<simplelist columns="2" type="vert">
<member>310</member>
<member>315</member>
<member>Map330</member>
<para>
This module does not support the units that do not follow Magellan's
documented communications protocols including:</para>
-<simplelist columns="2">
+<simplelist columns="2" type="vert">
<member>Maestro 3100</member>
<member>Maestro 3140</member>
<member>Maestro 3200</member>
<para>
- This is the SD card format used by the <ulink url="http://www.magellangps.com">Magellan</ulink> Explorist 400,
+ This is the SD card format used by the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.magellangps.com">Magellan</link> Explorist 400,
Explorist 500, Explorist 600, and Explorist XL and internally on those devices plus the
Explorist 210. Stored waypoints are identical to the <link linkend="fmt_magellan">Magellan SD format</link>
used by Meridian, but the newer models allow longer waypoint names. Routes are
Similarly, routes should be named ".rte" and tracks should be
named ".log".
</para>
-
(Note that not all of them have actually been tested, so if you can confirm that additional models work, please mail the gpsbabel-misc group with your success, tips, and any pertinent links for your model.)
</para>
-<table id="miniHomer_devices">
+<table xml:id="miniHomer_devices">
<title>Devices supported by miniHomer module</title>
<tgroup cols="4">
<thead>
<tbody>
<row>
<entry>
- <ulink url="http://navin.com.tw/miniHomer.htm"> Navin </ulink>
- <ulink url="http://www.znex.de/minihomer-details.html">Z:NEX</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://navin.com.tw/miniHomer.htm"> Navin </link>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.znex.de/minihomer-details.html">Z:NEX</link>
</entry>
<entry>miniHomer</entry>
<entry>up to 230400</entry>
</tgroup>
</table>
-<example id="miniHomer-on-linux">
+<example xml:id="miniHomer-on-linux">
<title>Command showing miniHomer download of tracks and erasing the logger on Linux</title>
<para><userinput>gpsbabel -i miniHomer,erase -f /dev/ttyUSB0 -o gpx -F out.gpx</userinput></para>
</example>
-<example id="miniHomer-erase">
+<example xml:id="miniHomer-erase">
<title>Command showing miniHomer erasing the logger without download on Linux</title>
<para><userinput>gpsbabel -i miniHomer,erase,no-output -f /dev/ttyUSB0</userinput></para>
</example>
<emphasis><name>=<lat>:<lng>[:<alt>]</emphasis>
Once the according POI symbol is selected on miniHomer, the display shows you the direction and distance to the POI.
</para>
-<example id="miniHomer-on-linux-poi">
+<example xml:id="miniHomer-on-linux-poi">
<title>Command showing miniHomer setting Car and Home POI</title>
<para>
<userinput>
and outputs to other formats supported by GPSBabel
When using the csv option a MTK application compatible output file will also be created.</para>
<para>
-It has been tested with <productname>Transystem i-Blue 747</productname> but other devices should
+It has been tested with <trademark>Transystem i-Blue 747</trademark> but other devices should
work as well (Qstarz BT-Q1000, iTrek Z1, ...)
</para><para>
All position items (including button push) will be listed as trackpoints in the output.
</para>
<para>
-<ulink url="http://www.transystem.com.tw/p-gps-iblue747.htm">Transystem i-Blue 747</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.transystem.com.tw/p-gps-iblue747.htm">Transystem i-Blue 747</link>
</para>
-<example id="mtk-bin-on-linux">
+<example xml:id="mtk-bin-on-linux">
<title>Convert MTK binary trackpoints to GPX</title>
<para>
<userinput>gpsbabel -t -i mtk-bin,csv=extra.csv -f data.bin -o gpx -F out.gpx</userinput>
</para>
</example>
-
If you can confirm success with others, please share with us.
</para>
-<table id="mtk_devices">
+<table xml:id="mtk_devices">
<title>Devices supported by MTK module</title>
<tgroup cols="3">
<thead>
<row>
<entry>iBlue 821</entry>
<entry>Yes</entry>
- <entry>Available from <ulink url="http://www.semsons.com/i821ulblgpsr.html">Semsons</ulink></entry>
+ <entry>Available from <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.semsons.com/i821ulblgpsr.html">Semsons</link></entry>
</row>
<row>
<entry>iBlue 747, 747A+</entry>
<entry>Yes</entry>
- <entry>Available from <ulink url="http://www.semsons.com/i74blgpsdalo.html">Semsons</ulink></entry>
+ <entry>Available from <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.semsons.com/i74blgpsdalo.html">Semsons</link></entry>
</row>
<row>
<entry>QStarz BT-1000, BT-Q1000X, BT-1000eX</entry>
<entry>Yes</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>iTrek Z1</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
</tbody>
</tgroup>
these devices typically look like Prolific, FTDI, or Silab usb/serial
devices to the host OS. You'll need drivers for that whatever chip
your product uses for your operating system. For the "A+ GPS Recorder",
- the <ulink url="http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx">Silicon Labs CP210x chip</ulink> is used. On OS/X, you'll get
+ the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx">Silicon Labs CP210x chip</link> is used. On OS/X, you'll get
awesome device names like /dev/cu.usbmodem1d13410 - fortunately, our GUI
makes that multiple choice so you don't have to guess.
</para>
<para>See <link linkend="fmt_mtk-bin">mtk-bin</link> on how trackpoints/waypoints are handled</para>
-<example id="mtk-on-linux">
+<example xml:id="mtk-on-linux">
<title>Command showing MTK download track and waypoints and erase on Linux</title>
<para><userinput>gpsbabel -t -w -i mtk,erase -f /dev/ttyUSB0 -o gpx -F out.gpx</userinput></para>
</example>
<para>
For more info and tweaks on MTK based loggers:
- <ulink url="http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=81990">MTK Tips and Tweaks</ulink> and
- <ulink url="http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=81315">iBlue 747 Logger</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=81990">MTK Tips and Tweaks</link> and
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=81315">iBlue 747 Logger</link>
For info about the used log format, see
- <ulink url="http://spreadsheets.google.com/pub?key=pyCLH-0TdNe-5N-5tBokuOA&gid=5">MTK binary format</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://spreadsheets.google.com/pub?key=pyCLH-0TdNe-5N-5tBokuOA&gid=5">MTK binary format</link>
</para>
<para>
Most of the loggers cannot receive bluetooth commands; they can only send
<para>
GPSBabel supports the Navilink protocol used by the
- <ulink url="http://www.locosystech.com/product.php?zln=en&id=5">Locosys GT-11</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.locosystech.com/product.php?zln=en&id=5">Locosys GT-11</link>
and
- <ulink url="http://www.locosystech.com/product.php?zln=en&id=30">GT-31</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.locosystech.com/product.php?zln=en&id=30">GT-31</link>
GPS receivers. These are sold under a variety of names including:
-<simplelist columns="3">
+<simplelist columns="3" type="vert">
<member>NaviGPS</member>
<member>NaviGPS-BT</member>
<member>GT-11</member>
present itself to the host operating system. You thus need
USB drivers for the PL2303, such as those from the 'Download'
section of
- <ulink url="http://www.locosystech.com/product.php?zln=en&id=30#">
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.locosystech.com/product.php?zln=en&id=30#">
Locosys USB Genie GT-31/BGT-31 drivers
- </ulink>.
+ </link>.
</para>
<para>
Details of the Navilink serial protocol can be found
- <ulink url="http://notes.splitbrain.org/navilink">here</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://notes.splitbrain.org/navilink">here</link>.
</para>
log and waypoint format for GPS devices. Some hardware and software
that work with NMEA-0183 formatted data include:
</para>
-<simplelist columns="3">
+<simplelist columns="3" type="vert">
<member>
- <ulink url="http://homepages.tig.com.au/~robk/datalogger.html">GPS Data Logger</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://homepages.tig.com.au/~robk/datalogger.html">GPS Data Logger</link>
</member>
<member>
- <ulink url="http://www.gpstm.com/eng/features_eng.htm ">GPS TrackMaker</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gpstm.com/eng/features_eng.htm ">GPS TrackMaker</link>
</member>
<member>
- <ulink url="http://www.gpsmaster.nl/ ">GPSMaster</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gpsmaster.nl/ ">GPSMaster</link>
</member>
<member>
- <ulink url="http://www.silcom.com/~rwhately/index.html">NMEAlog</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.silcom.com/~rwhately/index.html">NMEAlog</link>
</member>
<member>
- <ulink url="http://www.visualgps.net/VisualGPSce/default.htm">VisualGPS</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.visualgps.net/VisualGPSce/default.htm">VisualGPS</link>
</member>
<member>
- <ulink url="http://www.gpsu.co.uk/">GPS Utility</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gpsu.co.uk/">GPS Utility</link>
</member>
<member>
- <ulink url="http://www.kolumbus.fi/eino.uikkanen/geoconvgb/index.htm">GeoConv</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.kolumbus.fi/eino.uikkanen/geoconvgb/index.htm">GeoConv</link>
</member>
<member>
- <ulink url="http://www.commlinx.com.au/GPS_recorder.htm">CommLinx GPS recorder</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.commlinx.com.au/GPS_recorder.htm">CommLinx GPS recorder</link>
</member>
<member>
- <ulink url="http://www.sparkfun.com/">SparkFun GPS Datalogger</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sparkfun.com/">SparkFun GPS Datalogger</link>
</member>
<member>
AMOD 3080 GPS
format. Intended to serve as source for number-processing
applications like OpenOffice, Ploticus and others. Tab was chosen as
delimiter because it is a) supported by both OpenOffice and Ploticus
- and b) is not ',', so you can use <userinput moreinfo="none">sed -i
+ and b) is not ',', so you can use <userinput>sed -i
"s/./,/g" <x>.csv'</userinput> to adapt it to locales where ',' is
used as decimal separator. Contributed by Tobias Minich.
</para>
</userinput>
The resulting waypoint in OUT.GPX has name IMG_1199.
</para>
-
<para>
<userinput>gpsbabel -i gpx -f holiday.gpx -o exif,name="On the beach" -F IMG0786.JPG</userinput>
</para>
-
this options allows you to specify a bitmask to be used for the category.
Options may be specified in either decimal or hex.
</para>
-<example id="garmin_bitcategory">
+<example xml:id="garmin_bitcategory">
<title>Example for garmin bitcategory option to put all waypoints in categories 1 and 16.</title>
<para>
The following two commands are equivalent. They place a the point in both the first and last of the sixteen available categories.
</para>
<para>
Value specified may be a number from the Garmin Protocol Spec or a name
-as described in the <xref linkend="GarminIcons"></xref>.
+as described in the <xref linkend="GarminIcons"/>.
</para>
<para>
This option has no effect on input.
</para>
-
gpsbabel -i gpx -f "warnings.gpx" -o garmin_gpi,alerts=1 -F "warnings.gpi"
</userinput>
</para>
-
Subsequently you may use one of these codes with the languagecode
option to specify which language to use.
</para>
-<example id="gpi_languagecode_notspecified">
+<example xml:id="gpi_languagecode_notspecified">
<title>Example with unspecified language and a garmin points of interest dual language file.</title>
<para>
<userinput>
</simplelist>
</para>
</example>
-<example id="gpi_languagecode_specified">
+<example xml:id="gpi_languagecode_specified">
<title>Example for specifying language with a garmin points of interest dual language file.</title>
<para>
<userinput>
gpsbabel -i gpx -f "My Points.gpx" -o garmin_gpi,notes -F "My Points.gpi"
</userinput>
</para>
-
The parameter has to be in meters, or, when units=s specified, in miles.
<link linkend="fmt_garmin_gpi_o_alerts">alerts</link> are automatically enabled.
</para>
-<example id="garmin_gpi_speedcams">
+<example xml:id="garmin_gpi_speedcams">
<title>Read GPX file, create GPI to alert when you're 1/2 mile from a speed camera.</title>
<para>
<userinput>
</userinput>
</para>
<para>
- <table id="distance_units">
+ <table xml:id="distance_units">
<title>Supported distance units (garmin_gpi)</title>
<tgroup cols="2">
<thead>
</userinput>
</para>
<para>
- <table id="garmin_gpi_speed_units">
+ <table xml:id="garmin_gpi_speed_units">
<title>Supported speed units (garmin_gpi)</title>
<tgroup cols="2">
<thead>
gpsbabel -i gpx -f "My Points.gpx" -o garmin_gpi,unique=0 -F "My Points.gpi"
</userinput>
</para>
-
gpsbabel -i gpx -f "My Points.gpx" -o garmin_gpi,units=s -F "My Points.gpi"
</userinput>
</para>
-
<para>
This option specifies the datum to be used on output. Valid values for this
-option are listed in <xref linkend="Datums" />.
+option are listed in <xref linkend="Datums"/>.
</para>
<para>
This value specifies the grid to be used on write.
</para>
-<table id="garmin_grid">
+<table xml:id="garmin_grid">
<title>Grid values for garmin_txt</title>
<tgroup cols="4">
<thead>
<para>
Idx or short are valid params for this option.
</para>
-
-
this options allows you to specify a bitmask to be used for the category.
Options may be specified in either decimal or hex.
</para>
-<example id="gdb_bitscategory">
+<example xml:id="gdb_bitscategory">
<title>Example for gdb bitcategory option to put all waypoints in categories 1 and 16.</title>
<para>
The following two commands are equivalent. They place a the point in both the first and last of the sixteen available categories.
This option instructs GPSBabel to drop hidden (calculated) points from
routes when creating waypoints. These points are not converted to waypoints, but they are converted to route points.
</para>
-
The priority of this option is higher than of the <option>via</option> and <option>dropwpt</option> options.
A value of 1 or y overwrites the <option>via</option> and <option>dropwpt</option> settings.
</para>
-<example id="gdb_roadbook_option">
+<example xml:id="gdb_roadbook_option">
<title>Using gdb option <option>roadbook</option> to create simple html roadbook</title>
<para>
<userinput>
This option instructs GPSBabel to drop hidden (calculated) points from
routes. These points are not converted to waypoints or route points.
</para>
-
<para>
This option has no effect on input.
</para>
-
-
<para>
This option has no effect on output.
</para>
-
<para>
The showlist argument displays the list of tracks stored on the device.
</para>
-<example id="globalsat-option-showlist">
+<example xml:id="globalsat-option-showlist">
<title>Command showing list of tracks on device</title>
<para>
<userinput>gpsbabel -i globalsat,showlist=1 -f /dev/ttyUSB0</userinput>
learned about via the 'showlist' option from a previous invocation, instead
of fetching all the tracks, which is our default.
</para>
-<example id="globalsat-option-track">
+<example xml:id="globalsat-option-track">
<title>Command track can be used to fetch a single track, default is all tracks</title>
<para><userinput>gpsbabel -i globalsat,track=number -f /dev/ttyUSB0 -o gpx,garminextensions -F outfile.gpx</userinput></para>
</example>
<para>
- When reading <ulink url="http://www.geocaching.com"> Groundspeak Pocket Queries </ulink>, the <option>logpoint</option> option creates additional waypoints from the log entries.
+ When reading <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.geocaching.com"> Groundspeak Pocket Queries </link>, the <option>logpoint</option> option creates additional waypoints from the log entries.
</para>
<para>
A typical use for this is to get coordinates read from "corrected coordinates" logs.
<para>
This is a fairly esoteric option. If the GPX file you are reading has only base pathnames (e.g "foo.html") the value you specify to this argument will be prepended to that. For example, "-o gpx,urlbase=c:\My Documents\Whatever" would result in the link to that waypoint being written to refer to <filename>c:\My Document\WHatever\foo.html</filename>
</para>
-
and the barograph and adjusting accordingly:
</para>
<para><userinput>gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</userinput></para>
-
-
This option specifies the line color as a hexadecimal number in
AABBGGRR format, where A is alpha, B is blue, G is green, and R is red.
</para>
-
The default value for this option is 1, which causes placemarks to be drawn.
To disable drawing of placemarks, specify <option>points=0</option>.
</para>
-
<para>This option erases the track log from the device after download.</para>
-
You can leave altitude out, in which case it is assumed to be zero.
Note that GPSBabel terminates after writing the location info to the device, i.e. no logging data will be read from it.
</para>
-<example id="miniHomer-Bar">
+<example xml:id="miniHomer-Bar">
<title>Set the target location of the miniHomer Bar POI</title>
<para>
<userinput>gpsbabel -i miniHomer,Bar=38.99809:-86.34662 -f /dev/ttyUSB0 -o unicsv -F -</userinput>
this location as soon as it has a satellite fix.
</para>
</example>
-
You can leave altitude out, in which case it is assumed to be zero.
Note that GPSBabel terminates after writing the location info to the device, i.e. no logging data will be read from it.
</para>
-<example id="miniHomer-Boat">
+<example xml:id="miniHomer-Boat">
<title>Set the target location of the miniHomer Boat POI</title>
<para>
<userinput>gpsbabel -i miniHomer,Boat=32.29287:-64.77527 -f /dev/ttyUSB0 -o unicsv -F -</userinput>
this location as soon as it has a satellite fix.
</para>
</example>
-
You can leave altitude out, in which case it is assumed to be zero.
Note that GPSBabel terminates after writing the location info to the device, i.e. no logging data will be read from it.
</para>
-<example id="miniHomer-Car">
+<example xml:id="miniHomer-Car">
<title>Set the target location of the miniHomer Car POI</title>
<para>
<userinput>gpsbabel -i miniHomer,Car=-25.272309:153.235330 -f /dev/ttyUSB0 -o unicsv -F -</userinput>
this location as soon as it has a satellite fix.
</para>
</example>
-
You can leave altitude out, in which case it is assumed to be zero.
Note that GPSBabel terminates after writing the location info to the device, i.e. no logging data will be read from it.
</para>
-<example id="miniHomer-Heart">
+<example xml:id="miniHomer-Heart">
<title>Set the target location of the miniHomer Heart POI</title>
<para>
<userinput>gpsbabel -i miniHomer,Heart=36.1269:-115.1698 -f /dev/ttyUSB0 -o unicsv -F -</userinput>
this location as soon as it has a satellite fix.
</para>
</example>
-
You can leave altitude out, in which case it is assumed to be zero.
Note that GPSBabel terminates after writing the location info to the device, i.e. no logging data will be read from it.
</para>
-<example id="miniHomer-Home">
+<example xml:id="miniHomer-Home">
<title>Set the target location of the miniHomer Home POI</title>
<para>
<userinput>gpsbabel -i miniHomer,Home=-3.066667:37.359167:5895 -f /dev/ttyUSB0 -o unicsv -F -</userinput>
this location as soon as it has a satellite fix.
</para>
</example>
-
<para>
Erase log buffer.
</para>
-
that on erase, only the first two sectors are actually cleared. The following example shows how to read the remaining data:
</para>
-<example id="miniHomer-restore-erased">
+<example xml:id="miniHomer-restore-erased">
<title>Command showing how to read data from an erased device</title>
<para><userinput>gpsbabel -i miniHomer,first-sector=2 -f /dev/ttyUSB0 -o gpx -F out.gpx</userinput></para>
</example>
Please note that miniHomer by default uses 38400bps and does not autodetect the port speed. If you need autodetect, start as
<userinput>gpsbabel -i miniHomer,initbaud=0 -f /dev/ttyUSB0 -o gpx -F out.gpx</userinput>
</para>
-
-<para>If <userinput>read-at-once</userinput> >= 1, batch mode is enabled with that many sectors being read at a time.
+<para>If <userinput>read-at-once</userinput> >= 1, batch mode is enabled with that many sectors being read at a time.
A value of zero disables batch mode and switches to single read mode. Not all devices support batch mode; in that case
gpsbabel automatically switches to single read mode.</para>
this option is not specified and the date cannot be determined from one or
more of the available NMEA sentences, the tracks will be discarded.
</para>
-
-
</para>
<para>
More information can be found at the
-<ulink url="http://www.gisteq.com/">Gisteq</ulink> site.
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gisteq.com/">Gisteq</link> site.
</para>
neither reads nor writes the individual satellite data. On input, the
satellite fields are ignored and on output they are left blank.
</para>
-
including date and time, heading, and velocity. Note that they do not
include altitude. For altitude, you will have to include GPGGA sentences.
</para>
-
time of the fix. They do not contain any location information; for that
you will need either or both of GPGGA or GPRMC.
</para>
-
your handheld GPS receiver, you might find the
<link linkend="filter_interpolate">interpolate</link> filter useful.
</para>
-
the GPWPL sentence. Longer names will be shortened to no more than this
length, but all waypoint names will remain unique.
</para>
-
<para>
- With this option you can preset OSM <ulink url="http://wiki.openstreetmap.org/index.php/Map_Features">features</ulink> (tags) on all exported ways.
+ With this option you can preset OSM <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://wiki.openstreetmap.org/index.php/Map_Features">features</link> (tags) on all exported ways.
</para>
<para>
<userinput>gpsbabel -i gdb -f ways.gdb -o osm,tag="highway:motorway" -F ways.osm</userinput>
<para>
- With this option you can preset OSM <ulink url="http://wiki.openstreetmap.org/index.php/Map_Features">features</ulink> (tags) on every written nodes.
+ With this option you can preset OSM <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://wiki.openstreetmap.org/index.php/Map_Features">features</link> (tags) on every written nodes.
</para>
<para>
<userinput>gpsbabel -i gdb -f nodes.gdb -o osm,tagnd="amenity:pub;building:yes" -F nodes.osm</userinput>
By default the ozi module uses feet as altitude unit. With this option you can specify also 'Meters' (m)
as unit for altitude values.
</para>
-
and v the current speed, the device logs if
</para>
<para>
- (dt > tmin and dx >= dmin and v >= vmin) or dt > tmax or dx > dmax or v > vmax
+ (dt > tmin and dx >= dmin and v >= vmin) or dt > tmax or dx > dmax or v > vmax
</para>
<para>
If you use this option, vmin is fixed at 0 and vmax at 65535 km/h.
happens first!)
</para>
-<example id="skytraq-configulog">
+<example xml:id="skytraq-configulog">
<title>Set the logging parameters for Skytraq device</title>
<para>
<userinput>
that on erase, only the first two sectors are actually cleared. The following example shows how to read the remaining data:
</para>
-<example id="skytraq-restore-erased">
+<example xml:id="skytraq-restore-erased">
<title>Command showing how to read data from an erased device</title>
<para><userinput>gpsbabel -i skytraq,first-sector=2 -f /dev/ttyUSB0 -o gpx -F out.gpx</userinput></para>
</example>
</para>
<para>
-Consult formal explanation of <ulink url="http://tycho.usno.navy.mil/leapsec.html">GPS time vs. UTC time</ulink> if you're into that.
+Consult formal explanation of <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://tycho.usno.navy.mil/leapsec.html">GPS time vs. UTC time</link> if you're into that.
</para>
which roll over to 0 every 1024 weeks (close to 20 years).
</para>
-<table id="gps_week_rollovers">
+<table xml:id="gps_week_rollovers">
<title>GPS week rollover dates</title>
<tgroup cols="2">
<thead>
-<para>If <userinput>read-at-once</userinput> >= 1, batch mode is enabled with that many sectors being read at a time.
+<para>If <userinput>read-at-once</userinput> >= 1, batch mode is enabled with that many sectors being read at a time.
A value of zero disables batch mode and switches to single read mode. Not all devices support batch mode; in that case
gpsbabel automatically switches to single read mode.</para>
and longitude. Note that GPSBabel terminates after writing the location info
to the device, i.e. no logging data will be read from it.
</para>
-<example id="skytraq-targetlocation">
+<example xml:id="skytraq-targetlocation">
<title>Set the target location of the Skytraq location finder</title>
<para>
<userinput>gpsbabel -i skytraq,targetlocation=12.34:-56.78 -f /dev/ttyUSB
it has a satellite fix.
</para>
</example>
-
<para>
Format for output subtitles.
</para>
-<table id="subrip_format">
+<table xml:id="subrip_format">
<title>Supported format characters for subrip</title>
<tgroup cols="2">
<thead>
Splits output into separate files for each waypoint by appending a
decimal number to the output filename.
</para>
-<example id="text_splitoutput">
+<example xml:id="text_splitoutput">
<title>Example for splitoutput option to text format</title>
<para>
If "MyPQ.gpx" contains five waypoints,
continental U.S.</para> <para>Any legal <link linkend="Datums">datum supported
by GPSBabel</link> may be used. For example, points in Hawaii should
use "Old Hawaiian_mean".</para>
-
<para>
This option specifies the datum to be used on output. Valid values for this
- option are listed in <xref linkend="Datums" />.
+ option are listed in <xref linkend="Datums"/>.
</para>
unicsv file without this option.
</para>
-<example id="unicsv_fields">
+<example xml:id="unicsv_fields">
<title>Example for unicsv fields option to describe input file.</title>
<para>
For example ...
This can be very helpful for locating specific waypoints (i.e. using the position filter)
in more than one file.
</para>
-<example id="unicsv_filename">
+<example xml:id="unicsv_filename">
<title>Example for unicsv filename option to write filenames of input formats.</title>
<para>
The next example ...
When this option is enabled, we generate an additional 'Format' column.
The values of this column are filled with names of previous input formats.
</para>
-<example id="unicsv_format">
+<example xml:id="unicsv_format">
<title>Example for unicsv format option to write names of input formats.</title>
<para>
The next example ...
</simplelist>
</para>
</example>
-
<para>
This value specifies the grid to be used on write. It is similar to
- the grid option of garmin_txt (see <xref linkend="garmin_grid" />). The only difference is that unicsv does not
+ the grid option of garmin_txt (see <xref linkend="garmin_grid"/>). The only difference is that unicsv does not
write a degree sign (°) into the output file.
</para>
<para>
<para>
By default geocaching hints are unencrypted; use this option to encrypt them.
</para>
-
<para>
This option specifies the GPS datum to be used on read or write. Valid values for this
-option are listed in <xref linkend="Datums" />.
+option are listed in <xref linkend="Datums"/>.
</para>
<para>
Valid values for this option are 0 (off) and 1 (on).
</para>
-
<para>
Valid values for this option are 0 (off) and 1 (on).
</para>
-
<para>
Valid values for this option are 0 (off) and 1 (on).
</para>
-
</para>
<para>
For information on the format of xcsv style files, see
-<xref linkend="Styles" />.
+<xref linkend="Styles"/>.
</para>
-
<para>
- This format is used to exchange data with the <ulink url="http://www.openstreetmap.org">OpenStreetMap</ulink> project.
+ This format is used to exchange data with the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.openstreetmap.org">OpenStreetMap</link> project.
The main goal of this collaborative project is to create free editable maps.
</para>
<para>
These data files are XML based. Every GPS element (way or node) described by the files has a unique
number as identifier. When we write OSM data files and don't know something about the id's,
- negative numbers will be used as identifier. This has been tested with <ulink url="http://wiki.openstreetmap.org/index.php/JOSM">JOSM</ulink>.
+ negative numbers will be used as identifier. This has been tested with <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://wiki.openstreetmap.org/index.php/JOSM">JOSM</link>.
</para>
<para>
Because the resulting timestamps of OSM ways differ from real GPS tracks,
Not all data logged in this format is converted by GPSBabel,
but the following are:
-<simplelist columns="3">
+<simplelist columns="3" type="vert">
<member>Position</member>
<member>Elevation</member>
<member>Time</member>
<para>
The specification of this format can be found in
- the <ulink url="http://www.navmanwirelessoem.com/oem/customer-support/oem-news/product-briefs-and-data-sheets/jupiter-32-xlp-new2/sirf-binary-protocol-reference-manual">
- SiRF Binary Protocol Reference Manual</ulink>, in the section
+ the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.navmanwirelessoem.com/oem/customer-support/oem-news/product-briefs-and-data-sheets/jupiter-32-xlp-new2/sirf-binary-protocol-reference-manual">
+ SiRF Binary Protocol Reference Manual</link>, in the section
called Geodetic Navigation Data - Message ID 41.
</para>
<para>Following a list of devices which should be supported by this module
(Note that not all of them have actually been tested, so if you can confirm that additional models work, please mail the gpsbabel-misc group with your success, tips, and any pertinent links for your model.):</para>
-<table id="skytraq_devices">
+<table xml:id="skytraq_devices">
<title>Devices supported by skytraq module</title>
<tgroup cols="4">
<thead>
</table>
<para>Windows users of GPSBabel version 1.5.2 or less may have to explicitly specifiy a bit rate of 115200 or lower.</para>
-<example id="skytraq-on-linux">
+<example xml:id="skytraq-on-linux">
<title>Command showing skytraq download of tracks and erasing the logger on Linux</title>
<para><userinput>gpsbabel -i skytraq,erase -f /dev/ttyUSB0 -o gpx -F out.gpx</userinput></para>
</example>
-<example id="skytraq-erase">
+<example xml:id="skytraq-erase">
<title>Command showing skytraq erasing the logger without download on Linux</title>
<para><userinput>gpsbabel -i skytraq,erase,no-output -f /dev/ttyUSB0</userinput></para>
</example>
<para>If available, reading the logger using bluetooth should also work. However, many devices support only one
specific baud rate over bluetooth, e.g. 9600. In that case you should use the option <userinput>baud=0</userinput>
to tell GPSBabel to use that default baud rate:</para>
-<example id="skytraq-on-linux-bt">
+<example xml:id="skytraq-on-linux-bt">
<title>Command showing skytraq download tracks via bluetooth on Linux</title>
<para><userinput>rfcomm bind 0 <bdaddr></userinput></para>
<para><userinput>gpsbabel -i skytraq,baud=0 -f /dev/rfcomm0 -o gpx -F out.gpx</userinput></para>
mainly used for the purpose of testing GPSBabel. It is supposed to contain
one field for each piece of information supported by the
<link linkend="fmt_xcsv">xcsv</link> format writer, but it may not be entirely
-in sync with the documentation at <xref linkend="Styles" />.
+in sync with the documentation at <xref linkend="Styles"/>.
</para>
<para>
For a list of fields, see the style/tabsep.style file in the GPSBabel source
distribution.
</para>
-
Groundspeak extensions and writes a text file with encrypted hints:
</para>
<para><userinput>gpsbabel -i gpx -f 12345.gpx -o text,encrypt -F 12345.txt</userinput></para>
-
reads and writes .TPG files created by various editions of NG Topo!
Reading/writing of route data is not supported yet.</para>
<para>Contributed by Alex Mottram.</para>
-
<para>
Contributed by Steve Chamberlin.
</para>
-
-
text notes. The latter three are converted to waypoints.</para>
<para>Contributed by Curt Mills.</para>
-
</para>
<para>
The list of keywords include:
- <screen format="linespecific">
+ <screen>
alt = Elevation (in meters) of the point. Add "ft" or "feet" for feet.
arch = <link linkend="style_def_isarchived">Geocache archived flag</link>
avail = <link linkend="style_def_isavailable">Geocache available flag</link>
<link linkend="fmt_gpx">gpx</link>, <link linkend="fmt_gdb">gdb</link>,
<link linkend="fmt_garmin_gpi">garmin_gpi</link> and partly
<link linkend="fmt_garmin_txt">garmin_txt</link>. These entities are currently
- not visible in <productname>MapSource</productname> (6.12.4), but are NOT dropped
+ not visible in <trademark>MapSource</trademark> (6.12.4), but are NOT dropped
when working with GDB (version 3) or GPX files.
- <screen></screen>
+ <screen/>
Please note, that these do NOT provide a geocoding service; don't expect
to "convert" a street address to a latitude and longitude.
<screen>
</para>
<para>
A typical file may be:
- <screen format="linespecific">
+ <screen>
Name, Latitude, Longitude, Description
GCEBB,35.972033,-87.134700,Mountain Bike Heaven by susy1313
GC1A37,36.090683,-86.679550,The Troll by a182pilot & Family
</screen>
</para>
<para>
- If processing data from the UK, GPSBabel can process coordinates using X,Y values (often referred to as Eastings/Northings) as shown in <xref linkend="uk_unicsv_1" /> or the full 12 figure alpha numeric, as shown in <xref linkend="uk_unicsv_2" />.
- Note in <xref linkend="uk_unicsv_2" /> you need to split your original X,Y values into the 100Km 2 character code,
+ If processing data from the UK, GPSBabel can process coordinates using X,Y values (often referred to as Eastings/Northings) as shown in <xref linkend="uk_unicsv_1"/> or the full 12 figure alpha numeric, as shown in <xref linkend="uk_unicsv_2"/>.
+ Note in <xref linkend="uk_unicsv_2"/> you need to split your original X,Y values into the 100Km 2 character code,
eastings and northing values.
- <example id="uk_unicsv_1">
+ <example xml:id="uk_unicsv_1">
<title>CSV input for UK data with XY coordinates</title>
- <screen format="linespecific">
+ <screen>
bng_e,bng_n,name,date
353729,177210,id_001,2018/02/03
356025,181221,id_002,2018/02/03
357962,181528,id_003,2018/03/03
</screen>
</example>
- <example id="uk_unicsv_2">
+ <example xml:id="uk_unicsv_2">
<title>CSV input for UK data with alphanumeric coordinates</title>
- <screen format="linespecific">
+ <screen>
bng_z,bng_e,bng_n,name,date
ST,53729,77210,id_001,2018/02/03
ST,56025,81221,id_002,2018/02/03
</para>
<para>
With at least ONE valid timestamp in data a unicsv output may look like that:
- <screen format="linespecific">
+ <screen>
No,Name,Latitude,Longitude,Description,Date,Time
1,"GCEBB",35.972033,-87.134700,"Mountain Bike Heaven by susy1313",2003/06/29,09:00:00
2,"GC1A37",36.090683,-86.679550,"The Troll by a182pilot & Family",,
-<para>Read-only support for the csv file format used by <productname>Visiontac VGPS-900</productname> and <productname>Columbus V-900</productname> GPS data loggers. These seem to be two brand names for the exact same product.</para>
+<para>Read-only support for the csv file format used by <trademark>Visiontac VGPS-900</trademark> and <trademark>Columbus V-900</trademark> GPS data loggers. These seem to be two brand names for the exact same product.</para>
<para>The the V-900 stores logs on a microSD card in a custom csv format. This format contains NULL characters and fixed length fields, and therefore can not be handled by the normal csv module in GPSBabel.</para>
<para>
-<ulink url="http://www.visiontac.com/v900_specs.htm">Visiontac VGPS-900</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.visiontac.com/v900_specs.htm">Visiontac VGPS-900</link>
</para>
-<example id="v900_e1">
+<example xml:id="v900_e1">
<title>Conversion of a v900 csv log file to a gpx format</title>
<para><userinput>gpsbabel -i v900 -f 09040400.csv -o gpx -F outfile.gpx</userinput></para>
</example>
If you happen to use this for OpenStreetMap.org project, you can easily click on a waypoint and open the wav file from within JOSM. For this you must use gpx version 1.1 as the output file. The next example shows exactly how to do that.
</para>
-<example id="v900_e2">
+<example xml:id="v900_e2">
<title>Conversion of a v900 csv log file to a gpx 1.1 format</title>
<para><userinput>gpsbabel -i v900 -f 09040400.csv -o gpx,gpxver=1.1 -F outfile.gpx</userinput></para>
</example>
-
prefer to drag the VCF file into their address book and synchronize
with the iPod using iSync.
</para>
-
-<para>File protocol for the <productname>Wintec WBT-200</productname>
-and <productname>Wintec WBT-201</productname> (sometimes called the <productname> G-Rays 2</productname>)GPS data loggers. This format reads the binary file format created
+<para>File protocol for the <trademark>Wintec WBT-200</trademark>
+and <trademark>Wintec WBT-201</trademark> (sometimes called the <trademark> G-Rays 2</trademark>)GPS data loggers. This format reads the binary file format created
by Wintec's Windows application.</para>
<para>
-<ulink url="http://www.semsons.com/wiwbmu3gpsre2.html">Wintec WBT-201 </ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.semsons.com/wiwbmu3gpsre2.html">Wintec WBT-201 </link>
</para>
-<example id="wbt-bin-on-macos">
+<example xml:id="wbt-bin-on-macos">
<title>Command showing conversion of a Wintec binary file to GPX</title>
<para><userinput>gpsbabel -i wbt-bin -f tracks.bin -o
gpx -F out.gpx</userinput></para>
</example>
-
-<para>File protocol for the <productname>Wintec WBT-201 / G-Rays 2</productname>
+<para>File protocol for the <trademark>Wintec WBT-201 / G-Rays 2</trademark>
GPS data logger. This format reads the binary file format created
by Wintec's Time Machine X application.</para>
<para>
-<ulink url="http://www.semsons.com/wiwbmu3gpsre2.html">Wintec WBT-201</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.semsons.com/wiwbmu3gpsre2.html">Wintec WBT-201</link>
</para>
-<example id="wbt-tk1">
+<example xml:id="wbt-tk1">
<title>Command showing conversion of a Wintec binary file to GPX</title>
<para><userinput>gpsbabel -w -t -i wbt-tk1 -f tracks.tk1 -o gpx -F out.gpx</userinput></para>
</example>
-
<para>Serial download protocol for the
-<productname>Wintec WBT-200</productname> and
-<productname>Wintec WBT-201</productname>
-<productname>Wintec WBT-1000</productname>
+<trademark>Wintec WBT-200</trademark> and
+<trademark>Wintec WBT-201</trademark>
+<trademark>Wintec WBT-1000</trademark>
GPS data loggers. Although untested it is expected that this will also support the WBT-100.</para>
<para>
-<ulink url="http://www.semsons.com/wiwbmu3gpsre2.html">Wintec WBT-201</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.semsons.com/wiwbmu3gpsre2.html">Wintec WBT-201</link>
</para>
-<example id="wbt-on-macos">
+<example xml:id="wbt-on-macos">
<title>Command showing WBT-200 download and erase over Bluetooth on Mac OS X</title>
<para><userinput>gpsbabel -t -w -i wbt,erase -f /dev/cu.WBT200-SPPslave-1 -o gpx -F out.gpx</userinput></para>
</example>
built into it. It uses the CP210x chip by Silicon labs. You will probably
need a driver for this chip. The product ships with one for Windows.
The Linux 210x driver seems to work fine. Mac users will need to download
-the <ulink url="http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/USB/en/mcu_vcp.htm">Mac driver for CP210x</ulink>.
+the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/USB/en/mcu_vcp.htm">Mac driver for CP210x</link>.
</para>
<para>
GPSBabel does not try to offer an interface to configure these units. That
is left to the Windows software that comes with it or tools like the
-<ulink url="http://www.daria.co.uk/gps">WBT 201 Viewer</ulink> for Mac OS/X
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.daria.co.uk/gps">WBT 201 Viewer</link> for Mac OS/X
and Linux.
</para>
Those formats are all based on style files that can be found in
the "style" directory in the GPSBabel source distribution.
</para>
-
my $d2 = $dir2;
$d2 =~ s:/.*::;
$name2 = $d2 . '_' . $name2;
- print $parts qq(<!ENTITY inc_$name2 SYSTEM "../$dir2/$name.xml">\n);
- print $file "\&inc_$name2;\n";
+
+ #print $parts qq(<!ENTITY inc_$name2 SYSTEM "../$dir2/$name.xml">\n);
+ #print $file "\&inc_$name2;\n";
if ( !-e "$dir/$dir2/$name.xml" ) {
- open my $tmp, '>', "$dir/$dir2/$name.xml" or die $!;
+ open my $tmp, '>:encoding(UTF-8)', "$dir/$dir2/$name.xml" or die $!;
print $tmp "\n";
close $tmp;
}
+ open my $tmp2, '<:encoding(UTF-8)', "$dir/$dir2/$name.xml" or die $!;
+ print $file qq(<!-- BEGIN inclusion of $dir/$dir2/$name.xml -->\n);
+ while (<$tmp2>) {
+ print $file $_;
+ }
+ print $file qq(<!-- END inclusion of $dir/$dir2/$name.xml -->\n);
+ close $tmp2;
}
sub includef {
if ( $? != 0 ) {
die "error creating autogen directory: $?";
}
-open $parts, '>', "$dir/autogen/_parts.xml" or die $!;
+open $parts, '>:encoding(UTF-8)', "$dir/autogen/_parts.xml" or die $!;
print $parts qq(<!-- This document is automatically generated. -->\n);
print $parts qq(<!ENTITY formats SYSTEM "_formats.xml">\n);
print $parts qq(<!ENTITY filters SYSTEM "_filters.xml">\n);
-open $formats, '>', "$dir/autogen/_formats.xml" or die $!;
+open $formats, '>:encoding(UTF-8)', "$dir/autogen/_formats.xml" or die $!;
print $formats qq(<!-- This document is automatically generated. -->\n);
my @formats = qx(./gpsbabel -^3);
$fmts{$id} = 1;
}
includef( 'fmt_' . $id );
- open $file, '>', "$dir/autogen/fmt_$id.xml" or die $!;
+ open $file, '>:encoding(UTF-8)', "$dir/autogen/fmt_$id.xml" or die $!;
print $file <<END;
<!-- This document is automatically generated. -->
-<section id="fmt_$id">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="fmt_$id">
<title>$line[4] ($line[2])</title>
END
print $file expandoptions( $line[1] );
elsif ( $going && $dooptions && ( $line[0] eq 'option' ) ) {
my $nid = 'fmt_' . $id . '_o_' . $line[2];
print $file <<END;
- <section id="$nid">
+ <section xml:id="$nid">
<title><option>$line[2]</option> option</title>
<para>
$line[3].
}
close $formats;
-open $formats, '>', "$dir/autogen/_filters.xml" or die $!;
+open $formats, '>:encoding(UTF-8)', "$dir/autogen/_filters.xml" or die $!;
print $formats qq(<!-- This document is automatically generated. -->\n);
my @filters = qx(./gpsbabel -%1);
if ( $going && ( $line[0] eq 'option' ) ) {
print $file <<END;
- <section id="fmt_$line[1]_o_$line[2]">
+ <section xml:id="flt_$line[1]_o_$line[2]">
<title>$line[2] option</title>
<para>
$line[3].
close $file;
}
includef( 'filter_' . $line[0] );
- open $file, '>', "$dir/autogen/filter_$line[0].xml" or die $!;
+ open $file, '>:encoding(UTF-8)', "$dir/autogen/filter_$line[0].xml" or die $!;
print $file <<END;
<!-- This document is automatically generated. -->
-<section id="filter_$line[0]">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="filter_$line[0]">
<title>$line[1] ($line[0])</title>
END
include( $line[0], "filters" );
<?xml version="1.0" encoding="utf-8"?>
-
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
+<!DOCTYPE book
[
<!ENTITY % parts SYSTEM "autogen/_parts.xml">
%parts;
%chaps;
]
>
-
-<book id="GPSBabel_Documentation_Book">
- <bookinfo>
- <title>GPSBabel Documentation</title>
- </bookinfo>
+<book xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="GPSBabel_Documentation_Book">
+ <info><title>GPSBabel Documentation</title></info>
&allchapters;
--- /dev/null
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output method="xml" omit-xml-declaration="yes" />
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()" />
+ </xsl:copy>
+ </xsl:template>
+ <xsl:template match="productname">
+ <trademark><xsl:apply-templates select="@*|node()" /></trademark>
+ </xsl:template>
+</xsl:stylesheet>